78 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0-only */
 | |
| /******************************************************************************
 | |
|  *
 | |
|  * Copyright(c) 2003 - 2011 Intel Corporation. All rights reserved.
 | |
|  *
 | |
|  * Portions of this file are derived from the ieee80211 subsystem header files.
 | |
|  *
 | |
|  * Contact Information:
 | |
|  *  Intel Linux Wireless <ilw@linux.intel.com>
 | |
|  * Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
 | |
|  *
 | |
|  *****************************************************************************/
 | |
| 
 | |
| #ifndef __il_spectrum_h__
 | |
| #define __il_spectrum_h__
 | |
| enum {				/* ieee80211_basic_report.map */
 | |
| 	IEEE80211_BASIC_MAP_BSS = (1 << 0),
 | |
| 	IEEE80211_BASIC_MAP_OFDM = (1 << 1),
 | |
| 	IEEE80211_BASIC_MAP_UNIDENTIFIED = (1 << 2),
 | |
| 	IEEE80211_BASIC_MAP_RADAR = (1 << 3),
 | |
| 	IEEE80211_BASIC_MAP_UNMEASURED = (1 << 4),
 | |
| 	/* Bits 5-7 are reserved */
 | |
| 
 | |
| };
 | |
| struct ieee80211_basic_report {
 | |
| 	u8 channel;
 | |
| 	__le64 start_time;
 | |
| 	__le16 duration;
 | |
| 	u8 map;
 | |
| } __packed;
 | |
| 
 | |
| enum {				/* ieee80211_measurement_request.mode */
 | |
| 	/* Bit 0 is reserved */
 | |
| 	IEEE80211_MEASUREMENT_ENABLE = (1 << 1),
 | |
| 	IEEE80211_MEASUREMENT_REQUEST = (1 << 2),
 | |
| 	IEEE80211_MEASUREMENT_REPORT = (1 << 3),
 | |
| 	/* Bits 4-7 are reserved */
 | |
| };
 | |
| 
 | |
| enum {
 | |
| 	IEEE80211_REPORT_BASIC = 0,	/* required */
 | |
| 	IEEE80211_REPORT_CCA = 1,	/* optional */
 | |
| 	IEEE80211_REPORT_RPI = 2,	/* optional */
 | |
| 	/* 3-255 reserved */
 | |
| };
 | |
| 
 | |
| struct ieee80211_measurement_params {
 | |
| 	u8 channel;
 | |
| 	__le64 start_time;
 | |
| 	__le16 duration;
 | |
| } __packed;
 | |
| 
 | |
| struct ieee80211_info_element {
 | |
| 	u8 id;
 | |
| 	u8 len;
 | |
| 	u8 data[];
 | |
| } __packed;
 | |
| 
 | |
| struct ieee80211_measurement_request {
 | |
| 	struct ieee80211_info_element ie;
 | |
| 	u8 token;
 | |
| 	u8 mode;
 | |
| 	u8 type;
 | |
| 	struct ieee80211_measurement_params params[];
 | |
| } __packed;
 | |
| 
 | |
| struct ieee80211_measurement_report {
 | |
| 	struct ieee80211_info_element ie;
 | |
| 	u8 token;
 | |
| 	u8 mode;
 | |
| 	u8 type;
 | |
| 	union {
 | |
| 		struct ieee80211_basic_report basic[0];
 | |
| 	} u;
 | |
| } __packed;
 | |
| 
 | |
| #endif
 |