Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <netdb.h>
- #include <netinet/in.h>
- #include <sys/socket.h>
- int main(int argc, char *argv[])
- {
- struct addrinfo *res, *result;
- int error;
- if(argc < 2)
- return EXIT_FAILURE;
- /* resolve the domain name into a list of addresses */
- error = getaddrinfo(argv[1], NULL, NULL, &result);
- if (error != 0)
- {
- fprintf(stderr, "error in getaddrinfo: %s\n", gai_strerror(error));
- return EXIT_FAILURE;
- }
- else
- {
- printf("Looked up: %s\n", argv[1]);
- }
- /* loop over all returned results and do inverse lookup */
- for (res = result; res != NULL; res = res->ai_next)
- {
- char hostname[NI_MAXHOST] = "";
- error = getnameinfo(res->ai_addr, res->ai_addrlen, hostname, NI_MAXHOST, NULL, 0, NI_NUMERICHOST);
- if (error != 0)
- {
- fprintf(stderr, "error in getnameinfo: %s\n", gai_strerror(error));
- continue;
- }
- if (*hostname != '\0')
- printf("hostname: %s\n", hostname);
- }
- freeaddrinfo(result);
- return EXIT_SUCCESS;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement