xref: /original-bsd/sys/news3400/if/if_lance.h (revision 3705696b)
1 /*
2  * Copyright (c) 1992, 1993
3  *	The Regents of the University of California.  All rights reserved.
4  *
5  * This code is derived from software contributed to Berkeley by
6  * Sony Corp. and Kazumasa Utashiro of Software Research Associates, Inc.
7  *
8  * %sccs.include.redist.c%
9  *
10  * from: $Hdr: if_lance.h,v 4.300 91/06/09 06:25:59 root Rel41 $ SONY
11  *
12  *	@(#)if_lance.h	8.1 (Berkeley) 06/11/93
13  */
14 
15 #undef VOLATILE
16 #ifdef mips
17 #define VOLATILE volatile
18 #else
19 #define VOLATILE
20 #endif
21 
22 typedef VOLATILE struct lance Lance_reg;
23 typedef VOLATILE struct recv_msg_desc recv_msg_desc;
24 typedef VOLATILE struct xmit_msg_desc xmit_msg_desc;
25 
26 /*
27  * Structure of statistics record
28  */
29 struct en_stats {
30 	u_char	ens_addr[8];		/* Ethernet Address */
31 	int	ens_frames;		/* Number of Frames Received */
32 	int	ens_xmit;		/* Number of Frames Transmitted */
33 	int	ens_xcollis;		/* Number of Excess Collisions */
34 	int	ens_frag;		/* Number of Fragments Received */
35 	int	ens_lost;		/* Number of Times Frames Lost */
36 	int	ens_crc;		/* Number of CRC Errors */
37 	int	ens_align;		/* Number of Alignment Errors */
38 	int	ens_collis;		/* Number of Collisions */
39 	int	ens_owcollis;		/* Number of Out-of-window Collisions */
40 };
41 
42 /*
43  *	LANCE control block
44  */
45 typedef	VOLATILE struct lance_chan {
46 	Lance_reg	*lance_addr;	/* LANCE port address		*/
47 	caddr_t 	lance_memory;	/* LANCE memory address		*/
48 	caddr_t		lance_rom;	/* Ethernet address ROM		*/
49 	struct init_block *lance_ib;	/* initialization block address	*/
50 	int		lance_flags;	/* LANCE active flag		*/
51 	recv_msg_desc	*lance_rmd;	/* recv. message desc. address	*/
52 	xmit_msg_desc	*lance_tmd;	/* xmit. message desc. address	*/
53 	recv_msg_desc	*lance_last_rmd;	/* last rmd		*/
54 	xmit_msg_desc	*lance_last_tmd;	/* last tmd		*/
55 	struct en_stats	lance_stats;	/* LANCE statistics		*/
56 } Lance_chan;
57 
58 #undef VOLATILE
59 
60 #define	LANCE_ACTIVE	1
61 #define	LANCE_PROM	2
62 #define	LANCE_IDON	8
63