From 8a1a8732e0c77fd83ddefe906eedd6c205cd4234 Mon Sep 17 00:00:00 2001 From: hjp Date: Tue, 3 Jul 2001 20:00:49 +0000 Subject: [PATCH] *** empty log message *** --- dns/GNUmakefile | 13 ++++++++++++ dns/gethostbyname.c | 48 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 dns/GNUmakefile create mode 100644 dns/gethostbyname.c diff --git a/dns/GNUmakefile b/dns/GNUmakefile new file mode 100644 index 0000000..04cc8c7 --- /dev/null +++ b/dns/GNUmakefile @@ -0,0 +1,13 @@ +include GNUmakevars +include GNUmakerules + +all: gethostbyname +install: $(BINDIR)/gethostbyname + +clean: + rm -f *.bak *.o core gethostbyname + +distclean: clean + rm -f *.d + +-include *.d diff --git a/dns/gethostbyname.c b/dns/gethostbyname.c new file mode 100644 index 0000000..74cf781 --- /dev/null +++ b/dns/gethostbyname.c @@ -0,0 +1,48 @@ +#include +#include + +char *cmnd; + +void usage(void) { + fprintf(stderr, "Usage: %s [hostname ...]\n", cmnd); + exit(1); +} + +int main(int argc, char **argv) { + int i; + int rc = 0; + + cmnd = argv[0]; + + if (argc < 2) { + usage(); + } + + for (i = 1; i < argc; i++) { + struct hostent *he = gethostbyname(argv[i]); + char **a; + + if (!he) { + fprintf(stderr, "%s: cannot resolve %s: %s\n", + argv[0], argv[i], hstrerror(h_errno)); + rc++; + continue; + } + + printf("%s\n", argv[i]); + printf("\tCanonical: %s\n", he->h_name); + for (a = he->h_aliases; *a; a++) { + printf("\tAlias: %s\n", *a); + } + for (a = he->h_addr_list; *a; a++) { + int j; + printf("\tAddress: "); + for (j = 0; j < he->h_length; j++) { + printf("%s%d", j ? "." : "", (unsigned char)(*a)[j]); + } + printf("\n"); + } + printf("\n"); + } + return rc; +}