#include #include #include #include #include #include #include static inline uint32_t dns_resolve(const char *hostname) { return pxe_dns(hostname); } static inline void usage(const char *s) { fprintf(stderr, "Usage: %s hostname [, hostname_1, hostname_2, ...]\n", s); } int main(int argc, char *argv[]) { int i; uint32_t ip; openconsole(&dev_null_r, &dev_stdcon_w); if (argc < 2) { usage(argv[0]); return 1; } for (i = 1; i < argc; i++) { ip = dns_resolve(argv[i]); if (!ip) { printf("%s not found.\n", argv[i]); } else { printf("%-39s %08X %u.%u.%u.%u\n", argv[i], ntohl(ip), ip & 0xFF, (ip >> 8) & 0xFF, (ip >> 16) & 0xFF, (ip >> 24) & 0xFF); } } return 0; }