1/* SPDX-License-Identifier: GPL-2.0-only */
2/******************************************************************************
3 *
4 * Copyright(c) 2003 - 2011 Intel Corporation. All rights reserved.
5 *
6 * Portions of this file are derived from the ieee80211 subsystem header files.
7 *
8 * Contact Information:
9 * Intel Linux Wireless <ilw@linux.intel.com>
10 * Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
11 *
12 *****************************************************************************/
13
14#ifndef __il_spectrum_h__
15#define __il_spectrum_h__
16enum { /* ieee80211_basic_report.map */
17 IEEE80211_BASIC_MAP_BSS = (1 << 0),
18 IEEE80211_BASIC_MAP_OFDM = (1 << 1),
19 IEEE80211_BASIC_MAP_UNIDENTIFIED = (1 << 2),
20 IEEE80211_BASIC_MAP_RADAR = (1 << 3),
21 IEEE80211_BASIC_MAP_UNMEASURED = (1 << 4),
22 /* Bits 5-7 are reserved */
23
24};
25struct ieee80211_basic_report {
26 u8 channel;
27 __le64 start_time;
28 __le16 duration;
29 u8 map;
30} __packed;
31
32enum { /* ieee80211_measurement_request.mode */
33 /* Bit 0 is reserved */
34 IEEE80211_MEASUREMENT_ENABLE = (1 << 1),
35 IEEE80211_MEASUREMENT_REQUEST = (1 << 2),
36 IEEE80211_MEASUREMENT_REPORT = (1 << 3),
37 /* Bits 4-7 are reserved */
38};
39
40enum {
41 IEEE80211_REPORT_BASIC = 0, /* required */
42 IEEE80211_REPORT_CCA = 1, /* optional */
43 IEEE80211_REPORT_RPI = 2, /* optional */
44 /* 3-255 reserved */
45};
46
47struct ieee80211_measurement_params {
48 u8 channel;
49 __le64 start_time;
50 __le16 duration;
51} __packed;
52
53struct ieee80211_info_element {
54 u8 id;
55 u8 len;
56 u8 data[];
57} __packed;
58
59struct ieee80211_measurement_request {
60 struct ieee80211_info_element ie;
61 u8 token;
62 u8 mode;
63 u8 type;
64 struct ieee80211_measurement_params params[];
65} __packed;
66
67struct ieee80211_measurement_report {
68 struct ieee80211_info_element ie;
69 u8 token;
70 u8 mode;
71 u8 type;
72 union {
73 struct ieee80211_basic_report basic[0];
74 } u;
75} __packed;
76
77#endif
78

source code of linux/drivers/net/wireless/intel/iwlegacy/iwl-spectrum.h