#pragma once #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* ifp); int getifaddrs(struct ifaddrs** ifap); #ifdef __cplusplus } #endif