1/* 2 * Copyright 2019 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17package android.hardware.wifi@1.4; 18 19import @1.2::IWifiChipEventCallback; 20import WifiBand; 21 22/** 23 * Wifi chip event callbacks. 24 */ 25interface IWifiChipEventCallback extends @1.2::IWifiChipEventCallback { 26 /** 27 * Struct describing the state of each hardware radio chain (hardware MAC) 28 * on the device. 29 */ 30 struct RadioModeInfo { 31 /** 32 * Identifier for this radio chain. This is vendor dependent & used 33 * only for debugging purposes. 34 */ 35 uint32_t radioId; 36 37 /** 38 * List of bands on which this radio chain is operating. 39 * Can be one of: 40 * a) WifiBand.BAND_24GHZ => 2.4Ghz. 41 * b) WifiBand.BAND_5GHZ => 5Ghz. 42 * c) WifiBand.BAND_24GHZ_5GHZ = 2.4Ghz + 5Ghz (Radio is time sharing 43 * across the 2 bands). 44 * d) WifiBand.BAND_6GHZ => 6Ghz. 45 * e) WifiBand.BAND_5GHZ_6GHZ => 5Ghz + 6Ghz (Radio is time sharing 46 * across the 2 bands). 47 * f) WifiBand.BAND_24GHZ_5GHZ_6GHZ => 2.4Ghz + 5Ghz + 6Ghz (Radio is 48 * time sharing across the 3 bands). 49 */ 50 WifiBand bandInfo; 51 52 /** 53 * List of interfaces on this radio chain (hardware MAC). 54 */ 55 vec<IfaceInfo> ifaceInfos; 56 }; 57 58 /** 59 * Asynchronous callback indicating a radio mode change. 60 * Radio mode change could be a result of: 61 * a) Bringing up concurrent interfaces (For ex: STA + AP). 62 * b) Change in operating band of one of the concurrent interfaces (For ex: 63 * STA connection moved from 2.4G to 5G) 64 * 65 * @param radioModeInfos List of RadioModeInfo structures for each 66 * radio chain (hardware MAC) on the device. 67 */ 68 oneway onRadioModeChange_1_4(vec<RadioModeInfo> radioModeInfos); 69}; 70