Hugo Benichi | 2ac4d07 | 2019-05-28 14:51:23 +0900 | [diff] [blame] | 1 | // Copyright 2019 The Chromium OS Authors. All rights reserved. |
| 2 | // Use of this source code is governed by a BSD-style license that can be |
| 3 | // found in the LICENSE file. |
| 4 | |
| 5 | #include "arc/network/net_util.h" |
| 6 | |
Long Cheng | e4c8676 | 2019-09-24 18:52:40 +0000 | [diff] [blame] | 7 | #include <arpa/inet.h> |
Hugo Benichi | 2ac4d07 | 2019-05-28 14:51:23 +0900 | [diff] [blame] | 8 | |
Garrick Evans | 5486162 | 2019-07-19 09:05:09 +0900 | [diff] [blame^] | 9 | #include <base/strings/stringprintf.h> |
| 10 | |
Hugo Benichi | 2ac4d07 | 2019-05-28 14:51:23 +0900 | [diff] [blame] | 11 | namespace arc_networkd { |
| 12 | |
| 13 | std::string IPv4AddressToString(uint32_t addr) { |
| 14 | char buf[INET_ADDRSTRLEN] = {0}; |
| 15 | struct in_addr ia; |
| 16 | ia.s_addr = addr; |
| 17 | return !inet_ntop(AF_INET, &ia, buf, sizeof(buf)) ? "" : buf; |
| 18 | } |
| 19 | |
| 20 | std::string IPv4AddressToCidrString(uint32_t addr, uint32_t prefix_length) { |
| 21 | return IPv4AddressToString(addr) + "/" + std::to_string(prefix_length); |
| 22 | } |
| 23 | |
Garrick Evans | 5486162 | 2019-07-19 09:05:09 +0900 | [diff] [blame^] | 24 | std::string MacAddressToString(const MacAddress& addr) { |
| 25 | return base::StringPrintf("%02x:%02x:%02x:%02x:%02x:%02x", addr[0], addr[1], |
| 26 | addr[2], addr[3], addr[4], addr[5]); |
| 27 | } |
| 28 | |
Hugo Benichi | 2ac4d07 | 2019-05-28 14:51:23 +0900 | [diff] [blame] | 29 | } // namespace arc_networkd |