1e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidt/****************************************************************************
2e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidt ****************************************************************************
3e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidt ***
4e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidt ***   This header was generated from a glibc header of the same name.
5e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidt ***   It contains only constants, structures, and macros generated from
6e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidt ***   the original header, and thus, contains no copyrightable information.
7e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidt ***
8e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidt ****************************************************************************
9e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidt ****************************************************************************/
10e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidt#ifndef _IFADDRS_H
11e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidt#define _IFADDRS_H
12e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidt
13e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidt#include <sys/socket.h>
14e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidt
15e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidtstruct ifaddrs {
16e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidt  struct ifaddrs  *ifa_next;
17e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidt  char            *ifa_name;
18e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidt  unsigned int     ifa_flags;
19e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidt  struct sockaddr *ifa_addr;
20e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidt  struct sockaddr *ifa_netmask;
21e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidt  union {
22e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidt    struct sockaddr *ifu_broadaddr;
23e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidt    struct sockaddr *ifu_dstaddr;
24e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidt  } ifa_ifu;
25e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidt#define ifa_broadaddr ifa_ifu.ifu_broadaddr
26e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidt#define ifa_dstaddr   ifa_ifu.ifu_dstaddr
27e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidt  void            *ifa_data;
28e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidt};
29e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidt
30e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidtextern int getifaddrs(struct ifaddrs **ifap);
31e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidt
32e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidtextern void freeifaddrs(struct ifaddrs *ifa);
33e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidt
34e86eee143ed21592f88a46623a81f71002430459Dmitry Shmidt#endif
35