#include #include #include #include #include "buffer.h" #include "exit.h" #include "fmt.h" #include "ip.h" #include "ipme.h" char ipaddr[IPFMT]; int main() { int j; switch (ipme_init()) { case 0: buffer_putsflush(buffer_2, "out of memory\n"); _exit(111); case -1: buffer_putsflush(buffer_2, "hard error\n"); _exit(100); } for (j = 0; j < ipme.len; ++j) { switch (ipme.ix[j].af) { case AF_INET: buffer_put(buffer_1, ipaddr, ip4_fmt(ipaddr, &ipme.ix[j].addr.ip4.d)); break; case AF_INET6: buffer_put(buffer_1, ipaddr, ip6_fmt(ipaddr, &ipme.ix[j].addr.ip6.d)); break; default: buffer_puts(buffer_1, "Unknown address family = "); buffer_put(buffer_1, ipaddr, fmt_ulong(ipaddr, ipme.ix[j].af)); } buffer_puts(buffer_1, "\n"); } buffer_flush(buffer_1); _exit(0); }