xref: /csrg-svn/sys/netiso/iso_snpac.h (revision 63222)
149268Sbostic /*-
2*63222Sbostic  * Copyright (c) 1991, 1993
3*63222Sbostic  *	The Regents of the University of California.  All rights reserved.
449268Sbostic  *
549268Sbostic  * %sccs.include.redist.c%
649268Sbostic  *
7*63222Sbostic  *	@(#)iso_snpac.h	8.1 (Berkeley) 06/10/93
849268Sbostic  */
949268Sbostic 
1036393Ssklower /***********************************************************
1136393Ssklower 		Copyright IBM Corporation 1987
1236393Ssklower 
1336393Ssklower                       All Rights Reserved
1436393Ssklower 
1536393Ssklower Permission to use, copy, modify, and distribute this software and its
1636393Ssklower documentation for any purpose and without fee is hereby granted,
1736393Ssklower provided that the above copyright notice appear in all copies and that
1836393Ssklower both that copyright notice and this permission notice appear in
1936393Ssklower supporting documentation, and that the name of IBM not be
2036393Ssklower used in advertising or publicity pertaining to distribution of the
2136393Ssklower software without specific, written prior permission.
2236393Ssklower 
2336393Ssklower IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
2436393Ssklower ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
2536393Ssklower IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
2636393Ssklower ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
2736393Ssklower WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
2836393Ssklower ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
2936393Ssklower SOFTWARE.
3036393Ssklower 
3136393Ssklower ******************************************************************/
3236393Ssklower 
3336393Ssklower /*
3436393Ssklower  * ARGO Project, Computer Sciences Dept., University of Wisconsin - Madison
3536393Ssklower  */
3643334Ssklower 
3736393Ssklower #define	MAX_SNPALEN		8			/* curiously equal to sizeof x.121 (
3836393Ssklower 										plus 1 for nibble len) addr */
3936393Ssklower struct snpa_req {
4036393Ssklower 	struct iso_addr	sr_isoa;		/* nsap address */
4136393Ssklower 	u_char			sr_len;			/* length of snpa */
4236393Ssklower 	u_char			sr_snpa[MAX_SNPALEN];	/* snpa associated
4336393Ssklower 												with nsap address */
4436393Ssklower 	u_char			sr_flags;		/* true if entry is valid */
4537469Ssklower 	u_short			sr_ht;			/* holding time */
4636393Ssklower };
4736393Ssklower 
4836393Ssklower #define	SNPA_VALID		0x01
4936393Ssklower #define	SNPA_ES			0x02
5036393Ssklower #define SNPA_IS			0x04
5136393Ssklower #define	SNPA_PERM		0x10
5236393Ssklower 
5336393Ssklower struct systype_req {
5436393Ssklower 	short	sr_holdt;		/* holding timer */
5536393Ssklower 	short	sr_configt;		/* configuration timer */
5643423Ssklower 	short	sr_esconfigt;	/* suggested ES configuration timer */
5736393Ssklower 	char	sr_type;		/* SNPA_ES or SNPA_IS */
5836393Ssklower };
5936393Ssklower 
6043071Ssklower struct esis_req {
6143071Ssklower 	short	er_ht;			/* holding time */
6243071Ssklower 	u_char	er_flags;		/* type and validity */
6343071Ssklower };
6443071Ssklower /*
6543071Ssklower  * Space for this structure gets added onto the end of a route
6643071Ssklower  * going to an ethernet or other 802.[45x] device.
6743071Ssklower  */
6843071Ssklower 
6943071Ssklower struct llinfo_llc {
7043071Ssklower 	struct	llinfo_llc *lc_next;	/* keep all llc routes linked */
7143071Ssklower 	struct	llinfo_llc *lc_prev;	/* keep all llc routes linked */
7243071Ssklower 	struct	rtentry *lc_rt;			/* backpointer to route */
7343071Ssklower 	struct	esis_req lc_er;			/* holding time, etc */
7443071Ssklower #define lc_ht		lc_er.er_ht
7543071Ssklower #define lc_flags	lc_er.er_flags
7643071Ssklower };
7743071Ssklower 
7843334Ssklower 
7940781Ssklower /* ISO arp IOCTL data structures */
8040781Ssklower 
8137469Ssklower #define	SIOCSSTYPE 	_IOW('a', 39, struct systype_req) /* set system type */
8243423Ssklower #define	SIOCGSTYPE 	_IOR('a', 40, struct systype_req) /* get system type */
8337469Ssklower 
8436393Ssklower #ifdef	KERNEL
8543071Ssklower struct llinfo_llc llinfo_llc;	/* head for linked lists */
8661305Ssklower #endif	/* KERNEL */
87