1#ifndef _IFADDRS_H 2#define _IFADDRS_H 3 4#ifdef __cplusplus 5extern "C" { 6#endif 7 8#include <features.h> 9#include <netinet/in.h> 10#include <sys/socket.h> 11 12struct 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 27void freeifaddrs(struct ifaddrs *); 28int getifaddrs(struct ifaddrs **); 29 30#ifdef __cplusplus 31} 32#endif 33 34#endif 35 36