// Copyright 2018 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef NET_BASE_NETWORK_INTERFACES_FUCHSIA_H_ #define NET_BASE_NETWORK_INTERFACES_FUCHSIA_H_ #include namespace fuchsia { namespace netstack { class NetAddress; class NetInterface; } // namespace netstack } // namespace fuchsia namespace net { class IPAddress; struct NetworkInterface; namespace internal { // Converts a Fuchsia Netstack NetInterface object to NetworkInterface objects. // Interfaces with more than one IPv6 address will yield multiple // NetworkInterface objects, with friendly names to distinguish the different // IPs (e.g. "wlan" with three IPv6 IPs yields wlan-0, wlan-1, wlan-2). std::vector NetInterfaceToNetworkInterfaces( const fuchsia::netstack::NetInterface& iface_in); // Converts a Fuchsia IPv4/IPv6 address to a Chromium IPAddress. IPAddress NetAddressToIPAddress(const fuchsia::netstack::NetAddress& addr); } // namespace internal } // namespace net #endif // NET_BASE_NETWORK_INTERFACES_FUCHSIA_H_