xref: /original-bsd/sys/netinet/in_var.h (revision 7e7b101a)
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