* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
- * @(#)in_var.h 7.4 (Berkeley) %G%
+ * @(#)in_var.h 7.3 (Berkeley) 6/29/88
*/
/*
*/
struct in_ifaddr {
struct ifaddr ia_ifa; /* protocol-independent info */
+#define ia_addr ia_ifa.ifa_addr
+#define ia_broadaddr ia_ifa.ifa_broadaddr
+#define ia_dstaddr ia_ifa.ifa_dstaddr
#define ia_ifp ia_ifa.ifa_ifp
- /* ia_{,sub}net{,mask} in host order */
u_long ia_net; /* network number of interface */
u_long ia_netmask; /* mask of net part */
u_long ia_subnet; /* subnet number, including net */
- u_long ia_subnetmask; /* mask of subnet part */
+ u_long ia_subnetmask; /* mask of net + subnet */
+ struct in_addr ia_netbroadcast; /* broadcast addr for (logical) net */
int ia_flags;
- struct in_addr ia_netbroadcast; /* to recognize net broadcasts */
struct in_ifaddr *ia_next; /* next in list of internet addresses */
- struct sockaddr_in ia_addr; /* reserve space for interface name */
- struct sockaddr_in ia_dstaddr; /* reserve space for broadcast addr */
-#define ia_broadaddr ia_dstaddr
- struct sockaddr_in ia_sockmask; /* reserve space for general netmask */
-};
-
-struct in_aliasreq {
- char ifra_name[IFNAMSIZ]; /* if name, e.g. "en0" */
- struct sockaddr_in ifra_addr;
- struct sockaddr_in ifra_broadaddr;
-#define ifra_dstaddr ifra_broadaddr
- struct sockaddr_in ifra_mask;
};
/*
* Given a pointer to an in_ifaddr (ifaddr),
* return a pointer to the addr as a sockadd_in.
*/
-#define IA_SIN(ia) (&(((struct in_ifaddr *)(ia))->ia_addr))
+#define IA_SIN(ia) ((struct sockaddr_in *)(&((struct in_ifaddr *)ia)->ia_addr))
/*
* ia_flags
*/