#include #include int main(int argc, char **argv) { struct ifaddrs *inet; if (getifaddrs(&inet) < 0) { fprintf(stderr, "error in getifaddrs()"); exit(-1); } struct ifaddrs *i; for (i = inet; i != NULL; i = i->ifa_next) { fprintf(stdout, "i=%x, i->next=%x\n", i, i->ifa_next); fprintf(stdout, "ifa_name = %s\n", i->ifa_name); } freeifaddrs(inet); return 0; } __OUTPUT__ ayaz$ gcc -o test test.c && ./test i=8049a88, i->next=8049b0c ifa_name = lo i=8049b0c, i->next=8049b90 ifa_name = eth0 i=8049b90, i->next=8049c14 ifa_name = lo i=8049c14, i->next=0 ifa_name = eth0 [~] [laptop]