| // Copyright 2019 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.router.config; |
| |
| enum ChannelWidth { |
| AUTO = 0; |
| WIDTH_20_MHZ = 1; |
| WIDTH_40_MHZ = 2; |
| WIDTH_80_MHZ = 3; |
| WIDTH_160_MHZ = 4; |
| }; |
| |
| bits Band : uint8 { |
| BAND_2400_MHZ = 1; |
| BAND_5000_MHZ = 2; |
| }; |
| |
| flexible union ChannelNumber { |
| 1: uint32 number; |
| 2: Band auto_band; |
| }; |
| |
| struct Channel { |
| /// [0] is primary channel, [1] (if provided) is secondary for HT/VHT. |
| vector<ChannelNumber>:2 ch; |
| ChannelWidth width; |
| }; |
| |
| struct Radio { |
| Id element; |
| uint32 phy; |
| Channel channel; |
| }; |
| |
| // TODO(guzt): Add mesh related information. |
| |
| struct WlanNetwork { |
| Id element; |
| string name; |
| string psk; |
| vector<Id> radio_phys; |
| bool enable_band_steering; |
| }; |
| |
| struct Regulatory { |
| Id element; |
| string county_code; |
| }; |