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