/* 
 * fddi.h
 *
 * x-kernel v3.3
 *
 * Copyright (c) 1993,1991,1990,1996  Arizona Board of Regents
 *
 * $Log: fddi.h,v $
 * Revision 1.2  1996/01/29 20:10:48  slm
 * Updated copyright and version.
 *
 * Revision 1.1  1995/07/28  21:32:09  slm
 * Initial revision
 *
 * Revision 1.3.1.1  1994/11/12  19:38:19  hkaram
 * New branch
 *
 * Revision 1.3  1994/01/24  05:22:35  davidm
 * Removed include of process.h.
 *
 * Revision 1.2  1993/12/15  23:04:04  menze
 * Changed declaration of fddi_init to not depend on irix
 * platform-specific conventions
 *
 * Revision 1.1  1993/11/13  00:59:37  menze
 * Original version from UMass
 *
 * 1.1
 * 1993/07/27 10:01:42
 *
 * Based on xkernel/include/prot/eth.h (DJY)
 */


#ifndef fddi_h
#define fddi_h

#include "fddi_host.h"

/* Header definitions */

#define FDDIHOSTLEN 		sizeof(FDDIhost)

/*
 * Unified these with Ethernet using MAC control operations.
 *
 * #define FDDI_SETPROMISCUOUS		(FDDI_CTL*MAXOPS + 0)
 * #define FDDI_CLEARPROMISCUOUS	(FDDI_CTL*MAXOPS + 1)
 * #define FDDI_REGISTER_ARP		(FDDI_CTL*MAXOPS + 2)
 * #define FDDI_DUMP_STATS		(FDDI_CTL*MAXOPS + 3)
 */
/*
 * We're not ready for a Mach version yet ...
 * #define FDDI_SET_PRIORITY	(FDDI_CTL*MAXOPS + an_offset)
 */

/* NO ... #define FDDI_AD_SZ		sizeof(FDDIhost) */

#define FDDI_ADDRS_EQUAL(A,B)	((A).high==(B).high\
				 &&(A).mid==(B).mid\
				 &&(A).low==(B).low)
/* 
 * Multicast is implemented on FDDI as it is in Ethernet.
 */
#define FDDI_ADDRESS_ISGROUP(A)	((A).high & 0x0100)

#define ZERO_FDDI_ADDRESS(addr)	{ addr.high = addr.mid = addr.low = 0; }

/* NO ... #define  BCAST_FDDI_ADDRESS  { 0xffff, 0xffff, 0xffff } */

#define	FDDI_BCAST_HOST		{ 0xffff, 0xffff, 0xffff }

/*
 * Size of information block in FDDI packet - BE CAREFUL CHANGING THIS!
 * Several manifest constants depend on this being 4478.
 */
#define	MAX_FDDI_DATA_SIZE	   4478   /* assuming 6 byte MAC addresses */
/* #define MAX_FDDI_DATA_SIZE	   4486      assuming 2 byte MAC addresses */

#ifdef __STDC__

void fddi_init (Protl);

#endif

#endif /* fddi_h */
