#ifndef _IFADDRS_H | |
#define _IFADDRS_H | |
#ifdef __cplusplus | |
extern "C" { | |
#endif | |
#include <features.h> | |
#include <netinet/in.h> | |
#include <sys/socket.h> | |
struct ifaddrs { | |
struct ifaddrs *ifa_next; | |
char *ifa_name; | |
unsigned ifa_flags; | |
struct sockaddr *ifa_addr; | |
struct sockaddr *ifa_netmask; | |
union { | |
struct sockaddr *ifu_broadaddr; | |
struct sockaddr *ifu_dstaddr; | |
} ifa_ifu; | |
void *ifa_data; | |
}; | |
#define ifa_broadaddr ifa_ifu.ifu_broadaddr | |
#define ifa_dstaddr ifa_ifu.ifu_dstaddr | |
void freeifaddrs(struct ifaddrs *); | |
int getifaddrs(struct ifaddrs **); | |
#ifdef __cplusplus | |
} | |
#endif | |
#endif | |