// 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.

// WARNING! Do NOT use this mojom. It is intended as a temporary interface to
// implement out-of-process proxy resolution. If you wish to use a Mojo DNS
// service, contact amistry@/sammc@ and net-dev to discuss a permanent Mojo DNS
// interface.

// Put Mojo definitions into their own namespace to avoid collisions with C++
// definitions.
// TODO(amistry): Resolve the conflict between these two sets of definitions.
module net.interfaces;

import "net/interfaces/address_family.mojom";
import "net/interfaces/address_list.mojom";

// Mirror of net::HostResolver::RequestInfo.
struct HostResolverRequestInfo {
  string host;
  uint16 port;
  AddressFamily address_family;
  bool is_my_ip_address;
};

interface HostResolverRequestClient {
  // |error| is a value in net::Error.
  ReportResult(int32 error, AddressList result);
};
