xref: /csrg-svn/sys/netns/ns_if.h (revision 63231)
123208Smckusick /*
2*63231Sbostic  * Copyright (c) 1984, 1985, 1986, 1987, 1993
3*63231Sbostic  *	The Regents of the University of California.  All rights reserved.
423208Smckusick  *
544503Sbostic  * %sccs.include.redist.c%
633371Ssklower  *
7*63231Sbostic  *	@(#)ns_if.h	8.1 (Berkeley) 06/10/93
823208Smckusick  */
921485Ssklower 
1021485Ssklower /*
1121485Ssklower  * Interface address, xerox version.  One of these structures
1221485Ssklower  * is allocated for each interface with an internet address.
1321485Ssklower  * The ifaddr structure contains the protocol-independent part
1421485Ssklower  * of the structure and is assumed to be first.
1521485Ssklower  */
1621485Ssklower 
1721485Ssklower struct ns_ifaddr {
1821485Ssklower 	struct	ifaddr ia_ifa;		/* protocol-independent info */
1921485Ssklower #define	ia_ifp		ia_ifa.ifa_ifp
2040798Ssklower #define	ia_flags	ia_ifa.ifa_flags
2137473Ssklower 	struct	ns_ifaddr *ia_next;	/* next in list of xerox addresses */
2237473Ssklower 	struct	sockaddr_ns ia_addr;	/* reserve space for my address */
2337473Ssklower 	struct	sockaddr_ns ia_dstaddr;	/* space for my broadcast address */
2437473Ssklower #define ia_broadaddr	ia_dstaddr
2537473Ssklower 	struct	sockaddr_ns ia_netmask;	/* space for my network mask */
2621485Ssklower };
2721485Ssklower 
2837473Ssklower struct	ns_aliasreq {
2937473Ssklower 	char	ifra_name[IFNAMSIZ];		/* if name, e.g. "en0" */
3037473Ssklower 	struct	sockaddr_ns ifra_addr;
3137473Ssklower 	struct	sockaddr_ns ifra_broadaddr;
3237473Ssklower #define ifra_dstaddr ifra_broadaddr
3337473Ssklower };
3421485Ssklower /*
3521485Ssklower  * Given a pointer to an ns_ifaddr (ifaddr),
3621485Ssklower  * return a pointer to the addr as a sockadd_ns.
3721485Ssklower  */
3821485Ssklower 
3937473Ssklower #define	IA_SNS(ia) (&(((struct ns_ifaddr *)(ia))->ia_addr))
4021485Ssklower 
4121485Ssklower /* This is not the right place for this but where is? */
4221485Ssklower #define	ETHERTYPE_NS	0x0600
4321485Ssklower 
4421485Ssklower #ifdef	NSIP
4521485Ssklower struct nsip_req {
4621485Ssklower 	struct sockaddr rq_ns;	/* must be ns format destination */
4721485Ssklower 	struct sockaddr rq_ip;	/* must be ip format gateway */
4821485Ssklower 	short rq_flags;
4921485Ssklower };
5021485Ssklower #endif
5121485Ssklower 
5221485Ssklower #ifdef	KERNEL
5328957Skarels struct	ns_ifaddr *ns_ifaddr;
5428957Skarels struct	ns_ifaddr *ns_iaonnetof();
5528957Skarels struct	ifqueue	nsintrq;	/* XNS input packet queue */
5621485Ssklower #endif
57