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