ladybird/Userland/host.cpp
Andreas Kling 0e4a1936ca LibC: Implement gethostbyname() by talking to the DNSLookupServer.
We now talk to the lookup server over a local socket and it does the lookup
on our behalf. Including some retry logic, which is nice, because it seems
like DNS requests disappear in the ether pretty damn often where I am.
2019-03-20 01:15:22 +01:00

25 lines
526 B
C++

#include <netdb.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <stdio.h>
int main(int argc, char** argv)
{
if (argc < 2) {
printf("usage: host <hostname>\n");
return 0;
}
auto* hostent = gethostbyname(argv[1]);
if (!hostent) {
printf("Lookup failed for '%s'\n", argv[1]);
return 1;
}
char buffer[32];
const char* ip_str = inet_ntop(AF_INET, hostent->h_addr_list[0], buffer, sizeof(buffer));
printf("%s is %s\n", argv[1], ip_str);
return 0;
}