0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 #ifndef __il_spectrum_h__
0015 #define __il_spectrum_h__
0016 enum {
0017 IEEE80211_BASIC_MAP_BSS = (1 << 0),
0018 IEEE80211_BASIC_MAP_OFDM = (1 << 1),
0019 IEEE80211_BASIC_MAP_UNIDENTIFIED = (1 << 2),
0020 IEEE80211_BASIC_MAP_RADAR = (1 << 3),
0021 IEEE80211_BASIC_MAP_UNMEASURED = (1 << 4),
0022
0023
0024 };
0025 struct ieee80211_basic_report {
0026 u8 channel;
0027 __le64 start_time;
0028 __le16 duration;
0029 u8 map;
0030 } __packed;
0031
0032 enum {
0033
0034 IEEE80211_MEASUREMENT_ENABLE = (1 << 1),
0035 IEEE80211_MEASUREMENT_REQUEST = (1 << 2),
0036 IEEE80211_MEASUREMENT_REPORT = (1 << 3),
0037
0038 };
0039
0040 enum {
0041 IEEE80211_REPORT_BASIC = 0,
0042 IEEE80211_REPORT_CCA = 1,
0043 IEEE80211_REPORT_RPI = 2,
0044
0045 };
0046
0047 struct ieee80211_measurement_params {
0048 u8 channel;
0049 __le64 start_time;
0050 __le16 duration;
0051 } __packed;
0052
0053 struct ieee80211_info_element {
0054 u8 id;
0055 u8 len;
0056 u8 data[];
0057 } __packed;
0058
0059 struct ieee80211_measurement_request {
0060 struct ieee80211_info_element ie;
0061 u8 token;
0062 u8 mode;
0063 u8 type;
0064 struct ieee80211_measurement_params params[];
0065 } __packed;
0066
0067 struct ieee80211_measurement_report {
0068 struct ieee80211_info_element ie;
0069 u8 token;
0070 u8 mode;
0071 u8 type;
0072 union {
0073 struct ieee80211_basic_report basic[0];
0074 } u;
0075 } __packed;
0076
0077 #endif