1 /* 2 * Copyright (C) 2017 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 17 #include "wificond/logging_utils.h" 18 19 #include <array> 20 #include <iomanip> 21 22 #include <android-base/macros.h> 23 24 using std::array; 25 using std::string; 26 using std::stringstream; 27 28 namespace android { 29 namespace wificond { 30 GetMacString(const array<uint8_t,ETH_ALEN> & mac_address)31string LoggingUtils::GetMacString(const array<uint8_t, ETH_ALEN>& mac_address) { 32 stringstream ss; 33 for (const uint8_t& b : mac_address) { 34 ss << std::hex << std::setfill('0') << std::setw(2) << static_cast<int>(b); 35 if (&b != &mac_address.back()) { 36 ss << ":"; 37 } 38 } 39 return ss.str(); 40 } 41 GetBandwidthString(ChannelBandwidth bandwidth)42string LoggingUtils::GetBandwidthString(ChannelBandwidth bandwidth) { 43 switch (bandwidth) { 44 case BW_20_NOHT: 45 return "20MHz no HT"; 46 case BW_20: 47 return "20MHz with HT"; 48 case BW_40: 49 return "40MHz"; 50 case BW_80: 51 return "80MHz"; 52 case BW_80P80: 53 return "80+80MHz"; 54 case BW_160: 55 return "160MHz"; 56 default: 57 return "Invalid"; 58 } 59 return "Invalid"; 60 } 61 62 } // namespace wificond 63 } // namespace android 64