| // 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 IPAddress& address) { | 
 |   if (address.IsIPv4()) { | 
 |     return ADDRESS_FAMILY_IPV4; | 
 |   } else if (address.IsIPv6()) { | 
 |     return ADDRESS_FAMILY_IPV6; | 
 |   } else { | 
 |     return ADDRESS_FAMILY_UNSPECIFIED; | 
 |   } | 
 | } | 
 |  | 
 | #if defined(STARBOARD) | 
 | SbSocketAddressType ConvertAddressFamily(AddressFamily address_family) { | 
 |   switch (address_family) { | 
 |     case ADDRESS_FAMILY_IPV4: | 
 |       return kSbSocketAddressTypeIpv4; | 
 |       break; | 
 |     case ADDRESS_FAMILY_IPV6: | 
 |       return kSbSocketAddressTypeIpv6; | 
 |       break; | 
 |     default: | 
 |       NOTREACHED(); | 
 |       return kSbSocketAddressTypeIpv4; | 
 |   } | 
 | } | 
 | #else | 
 | 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; | 
 | } | 
 | #endif | 
 |  | 
 | }  // namespace net |