root/drivers/net/wireless/intel/iwlegacy/iwl-spectrum.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   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__
  16 enum {                          /* 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 };
  25 struct ieee80211_basic_report {
  26         u8 channel;
  27         __le64 start_time;
  28         __le16 duration;
  29         u8 map;
  30 } __packed;
  31 
  32 enum {                          /* 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 
  40 enum {
  41         IEEE80211_REPORT_BASIC = 0,     /* required */
  42         IEEE80211_REPORT_CCA = 1,       /* optional */
  43         IEEE80211_REPORT_RPI = 2,       /* optional */
  44         /* 3-255 reserved */
  45 };
  46 
  47 struct ieee80211_measurement_params {
  48         u8 channel;
  49         __le64 start_time;
  50         __le16 duration;
  51 } __packed;
  52 
  53 struct ieee80211_info_element {
  54         u8 id;
  55         u8 len;
  56         u8 data[0];
  57 } __packed;
  58 
  59 struct ieee80211_measurement_request {
  60         struct ieee80211_info_element ie;
  61         u8 token;
  62         u8 mode;
  63         u8 type;
  64         struct ieee80211_measurement_params params[0];
  65 } __packed;
  66 
  67 struct 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

/* [<][>][^][v][top][bottom][index][help] */