11 int main(
int argc,
char** argv) {
12 using namespace libwire;
15 std::cerr <<
"Usage: dns-query <domain>\n";
19 std::vector<address> result_v4;
22 }
catch (std::system_error& ec) {
23 std::cerr <<
"Failed to query IPv4 info: " << ec.what() <<
'\n';
26 if (result_v4.empty()) {
27 std::cout <<
"No IPv4 results.\n";
29 std::cout <<
"IPv4:\n";
31 for (
const auto&
address : result_v4) {
37 std::vector<address> result_v6;
40 }
catch (std::system_error& ec) {
41 std::cerr <<
"Failed to query IPv6 info: " << ec.what() <<
'\n';
44 if (result_v6.empty()) {
45 std::cout <<
"No IPv6 results.\n";
47 std::cout <<
"IPv6:\n";
49 for (
const auto&
address : result_v6) {
std::string to_string() const noexcept
Convert address object to string representation.
IPv4/IPv6 address structure.
This file defines free functions for interaction with system resolver.
std::vector< address > resolve(ip protocol, const std::string_view &domain, std::error_code &ec) noexcept
Resolve domain name to one or more IP addresses of 'protocol' version.
int main(int argc, char **argv)