/* Copyright 1984 by the Massachusetts Institute of Technology */

/* Structure definitions for MPW headers.
 * These things are a total kludge. Basically, the first byte is the
 * version. For version 0, the contents of the packet are a old CHAOS
 * packet, and there is no MPW header. For version 1, the packet is a
 * MUPPET, and the protocol field exists. For version 2, the packet has
 * an MPW, which is defined below.
 */


#define	mpwpkt	struct	mpwpstr

mpwpkt	{	unsb	m_ver;
		unsb	m_prot;
		unss	m_rsd;
/*		byte	m_data[];*/
	};

#define	mkmpw(x)	((mpwpkt *) (x))


#define	MV_CH	0		/* Old style CHAOS protocol */
#define	MV_MP	1		/* MUPPET (dead and gone) */
#define	MV_MW	2		/* MIT protocol word */

#define	MW_IN	1		/* Regular IN */
#define	MW_THIN	2		/* IN with trailing header */
#define	MW_ADD	3		/* Address resolution protocol */
#define	MW_HDLC	4		/* HDLC */
#define MW_CH	21		/* Chaos but with a 4 byte header and
				 * a checksum in the rsd field. */


/*
Here is the list. The blank numbers are proprietary to cutomers,
some of whom do not even want their names known. Some (like 4)
were never used.

1	IP
2	IP with trailing headers
3	Address Resoloution Protocol
4	Proteon HDLC
5	VAX Debugging Protocol (MIT)
6	DECnet (Ringway) (TCI/Proteon)
7	
8	DECnet maintenance (Ringway) (TCI/Proteon)
9	
10	Novell
11	Phoenix
12	PUP
13	Watstar protocol (University of Waterloo)
14	XNS
15	Diganostics
16	Echo protocol (link level)
17	
18	
19	Bellcore Research
20	DEUNA Emulation
21	Chaosnet
*/
