xref: /OK3568_Linux_fs/kernel/drivers/net/fddi/skfp/h/fddi.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-or-later */
2*4882a593Smuzhiyun /******************************************************************************
3*4882a593Smuzhiyun  *
4*4882a593Smuzhiyun  *	(C)Copyright 1998,1999 SysKonnect,
5*4882a593Smuzhiyun  *	a business unit of Schneider & Koch & Co. Datensysteme GmbH.
6*4882a593Smuzhiyun  *
7*4882a593Smuzhiyun  *	The information in this file is provided "AS IS" without warranty.
8*4882a593Smuzhiyun  *
9*4882a593Smuzhiyun  ******************************************************************************/
10*4882a593Smuzhiyun 
11*4882a593Smuzhiyun #ifndef	_FDDI_
12*4882a593Smuzhiyun #define _FDDI_
13*4882a593Smuzhiyun 
14*4882a593Smuzhiyun struct fddi_addr {
15*4882a593Smuzhiyun 	u_char	a[6] ;
16*4882a593Smuzhiyun } ;
17*4882a593Smuzhiyun 
18*4882a593Smuzhiyun #define GROUP_ADDR	0x80		/* MSB in a[0] */
19*4882a593Smuzhiyun 
20*4882a593Smuzhiyun struct fddi_mac {
21*4882a593Smuzhiyun 	struct fddi_addr	mac_dest ;
22*4882a593Smuzhiyun 	struct fddi_addr	mac_source ;
23*4882a593Smuzhiyun 	u_char			mac_info[4478] ;
24*4882a593Smuzhiyun } ;
25*4882a593Smuzhiyun 
26*4882a593Smuzhiyun #define FDDI_MAC_SIZE	(12)
27*4882a593Smuzhiyun #define FDDI_RAW_MTU	(4500-5)	/* exl. Pr,SD, ED/FS */
28*4882a593Smuzhiyun #define FDDI_RAW	(4500)
29*4882a593Smuzhiyun 
30*4882a593Smuzhiyun /*
31*4882a593Smuzhiyun  * FC values
32*4882a593Smuzhiyun  */
33*4882a593Smuzhiyun #define FC_VOID		0x40		/* void frame */
34*4882a593Smuzhiyun #define FC_TOKEN	0x80		/* token */
35*4882a593Smuzhiyun #define FC_RES_TOKEN	0xc0		/* restricted token */
36*4882a593Smuzhiyun #define FC_SMT_INFO	0x41		/* SMT Info frame */
37*4882a593Smuzhiyun /*
38*4882a593Smuzhiyun  * FC_SMT_LAN_LOC && FC_SMT_LOC are SK specific !
39*4882a593Smuzhiyun  */
40*4882a593Smuzhiyun #define FC_SMT_LAN_LOC	0x42		/* local SMT Info frame */
41*4882a593Smuzhiyun #define FC_SMT_LOC	0x43		/* local SMT Info frame */
42*4882a593Smuzhiyun #define FC_SMT_NSA	0x4f		/* SMT NSA frame */
43*4882a593Smuzhiyun #define FC_MAC		0xc0		/* MAC frame */
44*4882a593Smuzhiyun #define FC_BEACON	0xc2		/* MAC beacon frame */
45*4882a593Smuzhiyun #define FC_CLAIM	0xc3		/* MAC claim frame */
46*4882a593Smuzhiyun #define FC_SYNC_LLC	0xd0		/* sync. LLC frame */
47*4882a593Smuzhiyun #define FC_ASYNC_LLC	0x50		/* async. LLC frame */
48*4882a593Smuzhiyun #define FC_SYNC_BIT	0x80		/* sync. bit in FC */
49*4882a593Smuzhiyun 
50*4882a593Smuzhiyun #define FC_LLC_PRIOR	0x07		/* priority bits */
51*4882a593Smuzhiyun 
52*4882a593Smuzhiyun #define BEACON_INFO	0		/* beacon type */
53*4882a593Smuzhiyun #define DBEACON_INFO	1		/* beacon type DIRECTED */
54*4882a593Smuzhiyun 
55*4882a593Smuzhiyun 
56*4882a593Smuzhiyun /*
57*4882a593Smuzhiyun  * indicator bits
58*4882a593Smuzhiyun  */
59*4882a593Smuzhiyun #define C_INDICATOR	(1<<0)
60*4882a593Smuzhiyun #define A_INDICATOR	(1<<1)
61*4882a593Smuzhiyun #define E_INDICATOR	(1<<2)
62*4882a593Smuzhiyun #define I_INDICATOR	(1<<6)		/* SK specific */
63*4882a593Smuzhiyun #define L_INDICATOR	(1<<7)		/* SK specific */
64*4882a593Smuzhiyun 
65*4882a593Smuzhiyun #endif	/* _FDDI_ */
66