| // 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; |
| |
| // Mirror of net::AddressFamily. |
| enum AddressFamily { |
| UNSPECIFIED, |
| IPV4, |
| IPV6, |
| }; |
| |
| // Mirror of net::HostResolver::RequestInfo. |
| struct HostResolverRequestInfo { |
| string host; |
| uint16 port; |
| AddressFamily address_family; |
| bool is_my_ip_address; |
| }; |
| |
| // Mirror of net::IPEndPoint. |
| struct IPEndPoint { |
| // IP address as a numeric value from most to least significant byte. |
| // Will be of length 4 for IPv4 addresses and 16 for IPv6. |
| array<uint8> address; |
| uint16 port; |
| }; |
| |
| // Mirror of net::AddressList. |
| struct AddressList { |
| array<IPEndPoint> addresses; |
| }; |
| |
| interface HostResolverRequestClient { |
| // |error| is a value in net::Error. |
| ReportResult(int32 error, AddressList? result); |
| }; |