Updating trunk VERSION from 1014.0 to 1015.0
[chromium-blink-merge.git] / net / base / address_family.h
blob8ea525684a07678fdb865be051aba66ed9c832d8
1 // Copyright (c) 2010 The Chromium 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.
5 #ifndef NET_BASE_ADDRESS_FAMILY_H_
6 #define NET_BASE_ADDRESS_FAMILY_H_
7 #pragma once
9 namespace net {
11 // Enum wrapper around the address family types supported by host resolver
12 // procedures.
13 enum AddressFamily {
14 ADDRESS_FAMILY_UNSPECIFIED, // AF_UNSPEC
15 ADDRESS_FAMILY_IPV4, // AF_INET
16 ADDRESS_FAMILY_IPV6, // AF_INET6
19 // HostResolverFlags is a bitflag enum used by host resolver procedures to
20 // determine the value of addrinfo.ai_flags and work around getaddrinfo
21 // peculiarities.
22 enum {
23 HOST_RESOLVER_CANONNAME = 1 << 0, // AI_CANONNAME
24 // Hint to the resolver proc that only loopback addresses are configured.
25 HOST_RESOLVER_LOOPBACK_ONLY = 1 << 1,
26 // Indicate the address family was set because no IPv6 support was detected.
27 HOST_RESOLVER_DEFAULT_FAMILY_SET_DUE_TO_NO_IPV6 = 1 << 2,
29 typedef int HostResolverFlags;
31 } // namespace net
33 #endif // NET_BASE_ADDRESS_FAMILY_H_