1 #ifndef _IFADDRS_H 2 #define _IFADDRS_H 3 4 #ifdef __cplusplus 5 extern "C" { 6 #endif 7 8 #include <features.h> 9 #include <netinet/in.h> 10 #include <sys/socket.h> 11 12 struct ifaddrs { 13 struct ifaddrs *ifa_next; 14 char *ifa_name; 15 unsigned ifa_flags; 16 struct sockaddr *ifa_addr; 17 struct sockaddr *ifa_netmask; 18 union { 19 struct sockaddr *ifu_broadaddr; 20 struct sockaddr *ifu_dstaddr; 21 } ifa_ifu; 22 void *ifa_data; 23 }; 24 #define ifa_broadaddr ifa_ifu.ifu_broadaddr 25 #define ifa_dstaddr ifa_ifu.ifu_dstaddr 26 27 void freeifaddrs(struct ifaddrs *); 28 int getifaddrs(struct ifaddrs **); 29 30 #ifdef __cplusplus 31 } 32 #endif 33 34 #endif 35 36