36 lines
592 B
C
36 lines
592 B
C
|
#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
|
||
|
|