xref: /openbmc/linux/drivers/net/fddi/skfp/h/fddi.h (revision 75bf465f0bc33e9b776a46d6a1b9b990f5fb7c37)
1*2874c5fdSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */
233f810b2SJeff Kirsher /******************************************************************************
333f810b2SJeff Kirsher  *
433f810b2SJeff Kirsher  *	(C)Copyright 1998,1999 SysKonnect,
533f810b2SJeff Kirsher  *	a business unit of Schneider & Koch & Co. Datensysteme GmbH.
633f810b2SJeff Kirsher  *
733f810b2SJeff Kirsher  *	The information in this file is provided "AS IS" without warranty.
833f810b2SJeff Kirsher  *
933f810b2SJeff Kirsher  ******************************************************************************/
1033f810b2SJeff Kirsher 
1133f810b2SJeff Kirsher #ifndef	_FDDI_
1233f810b2SJeff Kirsher #define _FDDI_
1333f810b2SJeff Kirsher 
1433f810b2SJeff Kirsher struct fddi_addr {
1533f810b2SJeff Kirsher 	u_char	a[6] ;
1633f810b2SJeff Kirsher } ;
1733f810b2SJeff Kirsher 
1833f810b2SJeff Kirsher #define GROUP_ADDR	0x80		/* MSB in a[0] */
1933f810b2SJeff Kirsher 
2033f810b2SJeff Kirsher struct fddi_mac {
2133f810b2SJeff Kirsher 	struct fddi_addr	mac_dest ;
2233f810b2SJeff Kirsher 	struct fddi_addr	mac_source ;
2333f810b2SJeff Kirsher 	u_char			mac_info[4478] ;
2433f810b2SJeff Kirsher } ;
2533f810b2SJeff Kirsher 
2633f810b2SJeff Kirsher #define FDDI_MAC_SIZE	(12)
2733f810b2SJeff Kirsher #define FDDI_RAW_MTU	(4500-5)	/* exl. Pr,SD, ED/FS */
2833f810b2SJeff Kirsher #define FDDI_RAW	(4500)
2933f810b2SJeff Kirsher 
3033f810b2SJeff Kirsher /*
3133f810b2SJeff Kirsher  * FC values
3233f810b2SJeff Kirsher  */
3333f810b2SJeff Kirsher #define FC_VOID		0x40		/* void frame */
3433f810b2SJeff Kirsher #define FC_TOKEN	0x80		/* token */
3533f810b2SJeff Kirsher #define FC_RES_TOKEN	0xc0		/* restricted token */
3633f810b2SJeff Kirsher #define FC_SMT_INFO	0x41		/* SMT Info frame */
3733f810b2SJeff Kirsher /*
3833f810b2SJeff Kirsher  * FC_SMT_LAN_LOC && FC_SMT_LOC are SK specific !
3933f810b2SJeff Kirsher  */
4033f810b2SJeff Kirsher #define FC_SMT_LAN_LOC	0x42		/* local SMT Info frame */
4133f810b2SJeff Kirsher #define FC_SMT_LOC	0x43		/* local SMT Info frame */
4233f810b2SJeff Kirsher #define FC_SMT_NSA	0x4f		/* SMT NSA frame */
4333f810b2SJeff Kirsher #define FC_MAC		0xc0		/* MAC frame */
4433f810b2SJeff Kirsher #define FC_BEACON	0xc2		/* MAC beacon frame */
4533f810b2SJeff Kirsher #define FC_CLAIM	0xc3		/* MAC claim frame */
4633f810b2SJeff Kirsher #define FC_SYNC_LLC	0xd0		/* sync. LLC frame */
4733f810b2SJeff Kirsher #define FC_ASYNC_LLC	0x50		/* async. LLC frame */
4833f810b2SJeff Kirsher #define FC_SYNC_BIT	0x80		/* sync. bit in FC */
4933f810b2SJeff Kirsher 
5033f810b2SJeff Kirsher #define FC_LLC_PRIOR	0x07		/* priority bits */
5133f810b2SJeff Kirsher 
5233f810b2SJeff Kirsher #define BEACON_INFO	0		/* beacon type */
5333f810b2SJeff Kirsher #define DBEACON_INFO	1		/* beacon type DIRECTED */
5433f810b2SJeff Kirsher 
5533f810b2SJeff Kirsher 
5633f810b2SJeff Kirsher /*
5733f810b2SJeff Kirsher  * indicator bits
5833f810b2SJeff Kirsher  */
5933f810b2SJeff Kirsher #define C_INDICATOR	(1<<0)
6033f810b2SJeff Kirsher #define A_INDICATOR	(1<<1)
6133f810b2SJeff Kirsher #define E_INDICATOR	(1<<2)
6233f810b2SJeff Kirsher #define I_INDICATOR	(1<<6)		/* SK specific */
6333f810b2SJeff Kirsher #define L_INDICATOR	(1<<7)		/* SK specific */
6433f810b2SJeff Kirsher 
6533f810b2SJeff Kirsher #endif	/* _FDDI_ */
66