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