1 /******************************************************************************
2  *
3  *	(C)Copyright 1998,1999 SysKonnect,
4  *	a business unit of Schneider & Koch & Co. Datensysteme GmbH.
5  *
6  *	This program is free software; you can redistribute it and/or modify
7  *	it under the terms of the GNU General Public License as published by
8  *	the Free Software Foundation; either version 2 of the License, or
9  *	(at your option) any later version.
10  *
11  *	The information in this file is provided "AS IS" without warranty.
12  *
13  ******************************************************************************/
14 
15 #ifndef	_FDDI_
16 #define _FDDI_
17 
18 struct fddi_addr {
19 	u_char	a[6] ;
20 } ;
21 
22 #define GROUP_ADDR	0x80		/* MSB in a[0] */
23 
24 struct fddi_mac {
25 	struct fddi_addr	mac_dest ;
26 	struct fddi_addr	mac_source ;
27 	u_char			mac_info[4478] ;
28 } ;
29 
30 #define FDDI_MAC_SIZE	(12)
31 #define FDDI_RAW_MTU	(4500-5)	/* exl. Pr,SD, ED/FS */
32 #define FDDI_RAW	(4500)
33 
34 /*
35  * FC values
36  */
37 #define FC_VOID		0x40		/* void frame */
38 #define FC_TOKEN	0x80		/* token */
39 #define FC_RES_TOKEN	0xc0		/* restricted token */
40 #define FC_SMT_INFO	0x41		/* SMT Info frame */
41 /*
42  * FC_SMT_LAN_LOC && FC_SMT_LOC are SK specific !
43  */
44 #define FC_SMT_LAN_LOC	0x42		/* local SMT Info frame */
45 #define FC_SMT_LOC	0x43		/* local SMT Info frame */
46 #define FC_SMT_NSA	0x4f		/* SMT NSA frame */
47 #define FC_MAC		0xc0		/* MAC frame */
48 #define FC_BEACON	0xc2		/* MAC beacon frame */
49 #define FC_CLAIM	0xc3		/* MAC claim frame */
50 #define FC_SYNC_LLC	0xd0		/* sync. LLC frame */
51 #define FC_ASYNC_LLC	0x50		/* async. LLC frame */
52 #define FC_SYNC_BIT	0x80		/* sync. bit in FC */
53 
54 #define FC_LLC_PRIOR	0x07		/* priority bits */
55 
56 #define BEACON_INFO	0		/* beacon type */
57 #define DBEACON_INFO	1		/* beacon type DIRECTED */
58 
59 
60 /*
61  * indicator bits
62  */
63 #define C_INDICATOR	(1<<0)
64 #define A_INDICATOR	(1<<1)
65 #define E_INDICATOR	(1<<2)
66 #define I_INDICATOR	(1<<6)		/* SK specific */
67 #define L_INDICATOR	(1<<7)		/* SK specific */
68 
69 #endif	/* _FDDI_ */
70