|  | // Copyright 2018 The Fuchsia Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | library fuchsia.wlan.common; | 
|  |  | 
|  | enum RequestStatus { | 
|  | ACKNOWLEDGED = 0; | 
|  | REJECTED_NOT_SUPPORTED = 1; | 
|  | REJECTED_INCOMPATIBLE_MODE = 2; | 
|  | REJECTED_ALREADY_IN_USE = 3; | 
|  | REJECTED_DUPLICATE_REQUEST = 4; | 
|  | }; | 
|  |  | 
|  | // LINT analyzer keyword intended for humans: | 
|  | // LINT.IfChange | 
|  |  | 
|  | enum PHY { | 
|  | /// IEEE 802.11b, used for DSSS, HR/DSSS, ERP-DSSS/CCK | 
|  | HR = 1; | 
|  | /// IEEE 802.11a/g, used for ERP-OFDM | 
|  | ERP = 2; | 
|  | /// IEEE 802.11n | 
|  | HT = 3; | 
|  | /// IEEE 802.11ac | 
|  | VHT = 4; | 
|  | /// IEEE 802.11ax | 
|  | HEW = 5; | 
|  | }; | 
|  |  | 
|  | enum CBW {	// Channel Bandwidth | 
|  | CBW20 = 0; | 
|  | CBW40 = 1; | 
|  | //CBW40ABOVE = CBW40; | 
|  | CBW40BELOW = 2; | 
|  | CBW80 = 3; | 
|  | CBW160 = 4; | 
|  | CBW80P80 = 5; | 
|  | }; | 
|  |  | 
|  | struct WlanChan { | 
|  | uint8 primary; | 
|  | CBW cbw; | 
|  | uint8 secondary80; | 
|  | }; | 
|  |  | 
|  | enum Band : uint8 { | 
|  | WLAN_BAND_2GHZ = 0; | 
|  | WLAN_BAND_5GHZ = 1; | 
|  | WLAN_BAND_COUNT = 2; | 
|  | }; | 
|  |  | 
|  | // LINT.ThenChange(//zircon/system/banjo/ddk.protocol.wlan.info/info.banjo) | 
|  |  | 
|  | enum ScanType { | 
|  | ACTIVE = 1; | 
|  | PASSIVE = 2; | 
|  | }; | 
|  |  | 
|  | enum DriverFeature { | 
|  | SCAN_OFFLOAD = 0; | 
|  | RATE_SELECTION = 1; | 
|  | SYNTH = 2; | 
|  | TX_STATUS_REPORT = 3; | 
|  | DFS = 4; | 
|  | PROBE_RESP_OFFLOAD = 5; | 
|  | /// Temporary feature flag for incrementally transitioning drivers to use | 
|  | /// SME channel on iface creation. | 
|  | TEMP_DIRECT_SME_CHANNEL = 3141592; | 
|  | /// Temporary feature flag for driver to indicate this iface a SoftMAC device. | 
|  | /// TODO(41640): Remove this flag once FullMAC drivers no longer use SME. | 
|  | TEMP_SOFTMAC = 2718281828; | 
|  | }; | 
|  |  | 
|  | /// HT and VHT guard interval. | 
|  | /// See IEEE 802.11-2016 Table 19-1 and Table 21-1. | 
|  | enum GuardInterval : uint8 { | 
|  | LONG_GI = 1; // 800 ns | 
|  | SHORT_GI = 2; // 400 ns | 
|  | }; |