1
2
3
4
5
6
7
8
9
10
11
12
13
14#ifndef __il_spectrum_h__
15#define __il_spectrum_h__
16enum {
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
23
24};
25struct ieee80211_basic_report {
26 u8 channel;
27 __le64 start_time;
28 __le16 duration;
29 u8 map;
30} __packed;
31
32enum {
33
34 IEEE80211_MEASUREMENT_ENABLE = (1 << 1),
35 IEEE80211_MEASUREMENT_REQUEST = (1 << 2),
36 IEEE80211_MEASUREMENT_REPORT = (1 << 3),
37
38};
39
40enum {
41 IEEE80211_REPORT_BASIC = 0,
42 IEEE80211_REPORT_CCA = 1,
43 IEEE80211_REPORT_RPI = 2,
44
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