xref: /csrg-svn/sys/netns/ns_if.h (revision 21485)
1 /*	ns_if.h	6.1	85/05/30	*/
2 
3 /*
4  * Interface address, xerox 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 
10 struct ns_ifaddr {
11 	struct	ifaddr ia_ifa;		/* protocol-independent info */
12 #define	ia_addr	ia_ifa.ifa_addr
13 #define	ia_broadaddr	ia_ifa.ifa_broadaddr
14 #define	ia_dstaddr	ia_ifa.ifa_dstaddr
15 #define	ia_ifp		ia_ifa.ifa_ifp
16 	union	ns_net	ia_net;		/* network number of interface */
17 	int	ia_flags;
18 	struct	ns_ifaddr *ia_next;	/* next in list of internet addresses */
19 };
20 
21 /*
22  * Given a pointer to an ns_ifaddr (ifaddr),
23  * return a pointer to the addr as a sockadd_ns.
24  */
25 
26 #define	IA_SNS(ia) ((struct sockaddr_ns *)(&((struct ns_ifaddr *)ia)->ia_addr))
27 /*
28  * ia_flags
29  */
30 #define	IFA_ROUTE	0x01		/* routing entry installed */
31 
32 /* This is not the right place for this but where is? */
33 #define	ETHERTYPE_NS	0x0600
34 
35 #ifdef	NSIP
36 struct nsip_req {
37 	struct sockaddr rq_ns;	/* must be ns format destination */
38 	struct sockaddr rq_ip;	/* must be ip format gateway */
39 	short rq_flags;
40 };
41 #endif
42 
43 #ifdef	KERNEL
44 extern	struct ns_ifaddr *ns_ifaddr;
45 extern	struct ns_ifaddr *ns_iaonnetof();
46 extern	struct ifqueue	nsintrq;	/* XNS input packet queue */
47 #endif
48