| // Copyright 2022 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| module network.mojom; |
| |
| import "services/network/public/mojom/address_family.mojom"; |
| import "services/network/public/mojom/address_list.mojom"; |
| |
| // An interface for system DNS resolution. Implementers should return the |
| // results of the platform-specific API. |
| interface SystemDnsResolver { |
| // Perform a system DNS resolution for `hostname`. `flags` is the bitfield |
| // net::HostResolverFlags and `network` is a net::handles::NetworkHandle. |
| // If `hostname` is null, performs a resolution for the machine's own |
| // hostname. |
| Resolve(string? hostname, |
| AddressFamily addr_family, |
| int32 flags, |
| uint64 network) => (network.mojom.AddressList addr_list, |
| int32 os_error, int32 net_error); |
| }; |