diff --git a/main.c b/main.c index c9cf36a..2a65c7e 100644 --- a/main.c +++ b/main.c @@ -17,12 +17,48 @@ #include "dicmote.h" +#include +#include +#include +#include #include int main() { + struct ifaddrs* ifa; + int ret; + char ipv4Address[INET_ADDRSTRLEN]; + char ipv6Address[INET6_ADDRSTRLEN]; + printf("DiscImageChef Remote Server %s\n", DICMOTE_VERSION); printf("Copyright (C) 2019 Natalia Portillo\n"); + ret = getifaddrs(&ifa); + + if(ret) + { + printf("Error %d enumerating interfaces\n", errno); + return 1; + } + + printf("Available addresses:\n"); + while(ifa != NULL) + { + if(ifa->ifa_addr) + { + if(ifa->ifa_addr->sa_family == AF_INET) + { + inet_ntop(AF_INET, &((struct sockaddr_in*)ifa->ifa_addr)->sin_addr, ipv4Address, INET_ADDRSTRLEN); + printf("%s port 6666\n", ipv4Address); + } + else if(ifa->ifa_addr->sa_family == AF_INET6) + { + inet_ntop(AF_INET6, &((struct sockaddr_in6*)ifa->ifa_addr)->sin6_addr, ipv6Address, INET6_ADDRSTRLEN); + printf("%s port 6666\n", ipv6Address); + } + } + ifa = ifa->ifa_next; + } + return 0; } \ No newline at end of file