xref: /csrg-svn/sys/netiso/iso_var.h (revision 36394)
1 /***********************************************************
2 		Copyright IBM Corporation 1987
3 
4                       All Rights Reserved
5 
6 Permission to use, copy, modify, and distribute this software and its
7 documentation for any purpose and without fee is hereby granted,
8 provided that the above copyright notice appear in all copies and that
9 both that copyright notice and this permission notice appear in
10 supporting documentation, and that the name of IBM not be
11 used in advertising or publicity pertaining to distribution of the
12 software without specific, written prior permission.
13 
14 IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
15 ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
16 IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
17 ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
18 WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
19 ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
20 SOFTWARE.
21 
22 ******************************************************************/
23 
24 /*
25  * ARGO Project, Computer Sciences Dept., University of Wisconsin - Madison
26  */
27 /* $Header: iso_var.h,v 4.2 88/06/29 15:00:08 hagens Exp $ */
28 /* $Source: /usr/argo/sys/netiso/RCS/iso_var.h,v $ */
29 
30 /*
31  *	Interface address, iso version. One of these structures is
32  *	allocated for each interface with an osi address. The ifaddr
33  *	structure conatins the protocol-independent part
34  *	of the structure, and is assumed to be first.
35  */
36 struct iso_ifaddr {
37 	struct ifaddr		ia_ifa;		/* protocol-independent info */
38 	int					ia_flags;
39 	struct iso_ifaddr	*ia_next;	/* next in list of iso addresses */
40 };
41 #define ia_ifp		ia_ifa.ifa_ifp
42 #ifndef ia_addr
43 #define ia_addr		ia_ifa.ifa_addr
44 #endif	ia_addr
45 
46 /*
47  *	Given a pointer to an iso_ifaddr (ifaddr),
48  *	return a pointer to the addr as a sockaddr_iso
49  */
50 #define	IA_SIS(ia)\
51 	((struct sockaddr_iso *)(&((struct iso_ifaddr *)ia)->ia_addr))
52 
53 #ifndef	IFA_ROUTE
54 #define	IFA_ROUTE	0x01			/* routing entry installed */
55 #endif	IFA_ROUTE
56 
57 #ifdef KERNEL
58 struct iso_ifaddr	*iso_ifaddr;	/* linked list of iso address ifaces */
59 struct ifqueue 		clnlintrq;		/* clnl packet input queue */
60 #endif KERNEL
61