xref: /csrg-svn/sys/netiso/iso_snpac.h (revision 43334)
136393Ssklower /***********************************************************
236393Ssklower 		Copyright IBM Corporation 1987
336393Ssklower 
436393Ssklower                       All Rights Reserved
536393Ssklower 
636393Ssklower Permission to use, copy, modify, and distribute this software and its
736393Ssklower documentation for any purpose and without fee is hereby granted,
836393Ssklower provided that the above copyright notice appear in all copies and that
936393Ssklower both that copyright notice and this permission notice appear in
1036393Ssklower supporting documentation, and that the name of IBM not be
1136393Ssklower used in advertising or publicity pertaining to distribution of the
1236393Ssklower software without specific, written prior permission.
1336393Ssklower 
1436393Ssklower IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
1536393Ssklower ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
1636393Ssklower IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
1736393Ssklower ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
1836393Ssklower WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
1936393Ssklower ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
2036393Ssklower SOFTWARE.
2136393Ssklower 
2236393Ssklower ******************************************************************/
2336393Ssklower 
2436393Ssklower /*
2536393Ssklower  * ARGO Project, Computer Sciences Dept., University of Wisconsin - Madison
2636393Ssklower  */
27*43334Ssklower /*	@(#)iso_snpac.h	7.6 (Berkeley) 06/20/90 */
28*43334Ssklower 
2936393Ssklower #define	MAX_SNPALEN		8			/* curiously equal to sizeof x.121 (
3036393Ssklower 										plus 1 for nibble len) addr */
3136393Ssklower struct snpa_req {
3236393Ssklower 	struct iso_addr	sr_isoa;		/* nsap address */
3336393Ssklower 	u_char			sr_len;			/* length of snpa */
3436393Ssklower 	u_char			sr_snpa[MAX_SNPALEN];	/* snpa associated
3536393Ssklower 												with nsap address */
3636393Ssklower 	u_char			sr_flags;		/* true if entry is valid */
3737469Ssklower 	u_short			sr_ht;			/* holding time */
3836393Ssklower };
3936393Ssklower 
4036393Ssklower #define	SNPA_VALID		0x01
4136393Ssklower #define	SNPA_ES			0x02
4236393Ssklower #define SNPA_IS			0x04
4336393Ssklower #define	SNPA_PERM		0x10
4436393Ssklower 
4536393Ssklower struct systype_req {
4636393Ssklower 	short	sr_holdt;		/* holding timer */
4736393Ssklower 	short	sr_configt;		/* configuration timer */
4836393Ssklower 	char	sr_type;		/* SNPA_ES or SNPA_IS */
4936393Ssklower };
5036393Ssklower 
5143071Ssklower struct esis_req {
5243071Ssklower 	short	er_ht;			/* holding time */
5343071Ssklower 	u_char	er_flags;		/* type and validity */
5443071Ssklower };
5543071Ssklower /*
5643071Ssklower  * Space for this structure gets added onto the end of a route
5743071Ssklower  * going to an ethernet or other 802.[45x] device.
5843071Ssklower  */
5943071Ssklower 
6043071Ssklower struct llinfo_llc {
6143071Ssklower 	struct	llinfo_llc *lc_next;	/* keep all llc routes linked */
6243071Ssklower 	struct	llinfo_llc *lc_prev;	/* keep all llc routes linked */
6343071Ssklower 	struct	rtentry *lc_rt;			/* backpointer to route */
6443071Ssklower 	struct	esis_req lc_er;			/* holding time, etc */
6543071Ssklower #define lc_ht		lc_er.er_ht
6643071Ssklower #define lc_flags	lc_er.er_flags
6743071Ssklower };
6843071Ssklower 
69*43334Ssklower 
7040781Ssklower /* ISO arp IOCTL data structures */
7140781Ssklower 
7237469Ssklower #define	SIOCSSTYPE 	_IOW('a', 39, struct systype_req) /* set system type */
7337469Ssklower #define	SIOCGSTYPE 	_IOW('a', 40, struct systype_req) /* set system type */
7437469Ssklower 
7536393Ssklower #ifdef	KERNEL
7643071Ssklower struct llinfo_llc llinfo_llc;	/* head for linked lists */
7736393Ssklower #endif	KERNEL
78