#ifndef _IFADDRS_H #define _IFADDRS_H #ifdef __cplusplus extern "C" { #endif #if !__linux__ #error ifaddrs-musl.h only works with a Linux kernel #endif #if __ANDROID__ #error ifaddrs-musl.h does not work with Android #endif #include #include #include 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 *ifp); int getifaddrs(struct ifaddrs **ifap); #ifdef __cplusplus } #endif #endif