// Copyright 2015 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. #include "net/base/address_family.h" #include "base/logging.h" #include "net/base/ip_address.h" #include "net/base/sys_addrinfo.h" namespace net { AddressFamily GetAddressFamily(const IPAddressNumber& address) { switch (address.size()) { case kIPv4AddressSize: return ADDRESS_FAMILY_IPV4; case kIPv6AddressSize: return ADDRESS_FAMILY_IPV6; default: return ADDRESS_FAMILY_UNSPECIFIED; } } AddressFamily GetAddressFamily(const IPAddress& address) { return GetAddressFamily(address.bytes()); } int ConvertAddressFamily(AddressFamily address_family) { switch (address_family) { case ADDRESS_FAMILY_UNSPECIFIED: return AF_UNSPEC; case ADDRESS_FAMILY_IPV4: return AF_INET; case ADDRESS_FAMILY_IPV6: return AF_INET6; } NOTREACHED(); return AF_UNSPEC; } } // namespace net