#ifndef _IFADDRS_H #define _IFADDRS_H #ifdef __cplusplus extern "C" { #endif #include #include #include struct ifaddrs { struct ifaddrs *ifa_next; char *ifa_name : itype(_Nt_array_ptr); 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