1 /* in_var.h 6.1 85/03/18 */ 2 3 /* 4 * Interface address, internet version. One of these structures 5 * is allocated for each interface with an internet address. 6 * The ifaddr structure contains the protocol-independent part 7 * of the structure and is assumed to be first. 8 */ 9 struct in_ifaddr { 10 struct ifaddr ia_ifa; /* protocol-independent info */ 11 #define ia_addr ia_ifa.ifa_addr 12 #define ia_broadaddr ia_ifa.ifa_broadaddr 13 #define ia_dstaddr ia_ifa.ifa_dstaddr 14 #define ia_ifp ia_ifa.ifa_ifp 15 u_long ia_net; /* network number of interface */ 16 u_long ia_netmask; /* mask of net part */ 17 u_long ia_subnet; /* subnet number, including net */ 18 u_long ia_subnetmask; /* mask of net + subnet */ 19 int ia_flags; 20 struct in_ifaddr *ia_next; /* next in list of internet addresses */ 21 }; 22 /* 23 * Given a pointer to an in_ifaddr (ifaddr), 24 * return a pointer to the addr as a sockadd_in. 25 */ 26 #define IA_SIN(ia) ((struct sockaddr_in *)(&((struct in_ifaddr *)ia)->ia_addr)) 27 /* 28 * ia_flags 29 */ 30 #define IFA_ROUTE 0x01 /* routing entry installed */ 31 32 #ifdef KERNEL 33 extern struct in_ifaddr *in_ifaddr; 34 extern struct in_ifaddr *in_iaonnetof(); 35 #endif 36