171df777a3ab1a98a30e32ef482e8b28409a3989eSamuel Tan/**************************************************************************** 271df777a3ab1a98a30e32ef482e8b28409a3989eSamuel Tan **************************************************************************** 371df777a3ab1a98a30e32ef482e8b28409a3989eSamuel Tan *** 471df777a3ab1a98a30e32ef482e8b28409a3989eSamuel Tan *** This header was generated from a glibc header of the same name. 571df777a3ab1a98a30e32ef482e8b28409a3989eSamuel Tan *** It contains only constants, structures, and macros generated from 671df777a3ab1a98a30e32ef482e8b28409a3989eSamuel Tan *** the original header, and thus, contains no copyrightable information. 771df777a3ab1a98a30e32ef482e8b28409a3989eSamuel Tan *** 871df777a3ab1a98a30e32ef482e8b28409a3989eSamuel Tan **************************************************************************** 971df777a3ab1a98a30e32ef482e8b28409a3989eSamuel Tan ****************************************************************************/ 1071df777a3ab1a98a30e32ef482e8b28409a3989eSamuel Tan#ifndef _IFADDRS_H 1171df777a3ab1a98a30e32ef482e8b28409a3989eSamuel Tan#define _IFADDRS_H 1271df777a3ab1a98a30e32ef482e8b28409a3989eSamuel Tan 1371df777a3ab1a98a30e32ef482e8b28409a3989eSamuel Tan#include <sys/socket.h> 1471df777a3ab1a98a30e32ef482e8b28409a3989eSamuel Tan 1571df777a3ab1a98a30e32ef482e8b28409a3989eSamuel Tanstruct ifaddrs { 1671df777a3ab1a98a30e32ef482e8b28409a3989eSamuel Tan struct ifaddrs *ifa_next; 1771df777a3ab1a98a30e32ef482e8b28409a3989eSamuel Tan char *ifa_name; 1871df777a3ab1a98a30e32ef482e8b28409a3989eSamuel Tan unsigned int ifa_flags; 1971df777a3ab1a98a30e32ef482e8b28409a3989eSamuel Tan struct sockaddr *ifa_addr; 2071df777a3ab1a98a30e32ef482e8b28409a3989eSamuel Tan struct sockaddr *ifa_netmask; 2171df777a3ab1a98a30e32ef482e8b28409a3989eSamuel Tan union { 2271df777a3ab1a98a30e32ef482e8b28409a3989eSamuel Tan struct sockaddr *ifu_broadaddr; 2371df777a3ab1a98a30e32ef482e8b28409a3989eSamuel Tan struct sockaddr *ifu_dstaddr; 2471df777a3ab1a98a30e32ef482e8b28409a3989eSamuel Tan } ifa_ifu; 2571df777a3ab1a98a30e32ef482e8b28409a3989eSamuel Tan#define ifa_broadaddr ifa_ifu.ifu_broadaddr 2671df777a3ab1a98a30e32ef482e8b28409a3989eSamuel Tan#define ifa_dstaddr ifa_ifu.ifu_dstaddr 2771df777a3ab1a98a30e32ef482e8b28409a3989eSamuel Tan void *ifa_data; 2871df777a3ab1a98a30e32ef482e8b28409a3989eSamuel Tan}; 2971df777a3ab1a98a30e32ef482e8b28409a3989eSamuel Tan 3071df777a3ab1a98a30e32ef482e8b28409a3989eSamuel Tanextern int getifaddrs(struct ifaddrs **ifap); 3171df777a3ab1a98a30e32ef482e8b28409a3989eSamuel Tan 3271df777a3ab1a98a30e32ef482e8b28409a3989eSamuel Tanextern void freeifaddrs(struct ifaddrs *ifa); 3371df777a3ab1a98a30e32ef482e8b28409a3989eSamuel Tan 3471df777a3ab1a98a30e32ef482e8b28409a3989eSamuel Tan#endif 35