linux/drivers/net/wireless/intel/iwlegacy/iwl-spectrum.h
<<
>>
Prefs
   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