xref: /original-bsd/sys/vax/if/if_ix.h (revision e61fc7ea)
1 /*
2  * Copyright (c) 1986 Regents of the University of California.
3  * All rights reserved.
4  *
5  * This code is derived from software contributed to Berkeley by
6  * Micom-Interlan Inc.
7  *
8  * %sccs.include.redist.c%
9  *
10  *	@(#)if_ix.h	7.3 (Berkeley) 06/28/90
11  */
12 
13 union ix_stats {
14 	struct {				/* General statistics below */
15 		u_char	macg_physaddr[6];
16 		u_short macg_pad;
17 		u_long	dlag_rcvmac;	/* packets received by DLA from MAC */
18 		u_long	dlag_rcvpass;	/* packets passed to users by DLA */
19 		u_long	dlag_txreq;	/* packets sent by users to DLA */
20 		u_long	dlag_txsnt;	/* packets sent by DLA to MAC */
21 		u_short	dlag_chaopn;	/* channels open */
22 		u_short	dlag_maxopn;	/* max channels opened concurrently */
23 		u_long	macg_frmtos;	/* packets discarded by MAC */
24 		u_long	macg_frmpas;	/* packets sent to DLA by MAC */
25 		u_long	macg_x2x;	/* packets put on wire by MAC */
26 		u_long	macg_x2r;	/* packets looped by MAC */
27 		u_long	macg_xrty;	/* transmitter retries */
28 		u_short	macg_noap;	/* open MAC paths */
29 		u_short	macg_nprom;	/* open promiscuous paths */
30 		u_short	macg_conopn;	/* max concurrent MAC paths */
31 		u_short	sysg_crce;	/* CRC errors */
32 		u_short	sysg_alne;	/* alignment errors */
33 		u_short	sysg_rsce;	/* resource errors */
34 		u_short	sysg_ovre;	/* overrun errors */
35 	} ixg;
36 	struct {			/* Channel statistics below */
37 		u_long	dabc_rcvacc;	/* packets received */
38 		u_long	dabc_rcvtoss;	/* packets discarded, queue full */
39 		u_long	dabc_rcvpass;	/* packets passed to user */
40 		u_long	dabc_txreq;	/* packets sent by  user */
41 		u_long	dabc_txsent;	/* packets sent to MAC */
42 		u_long	macc_rcvcnt;	/* packets received by MAC */
43 		u_long	macc_txtcnt;	/* packets sent by MAC to wire */
44 		u_long	macc_lowmem;	/* packets discarded, no mem  */
45 	} ixc;
46 };
47 #define IXC_MAP(a)	(((a) << 6) | 0100077)
48 
49 #define IXC_OPEN	IXC_MAP(1)		/* Open Channel */
50 #define IXC_CLOSE	IXC_MAP(2)		/* Close Channel */
51 #define IXC_MCAST	IXC_MAP(3)		/* Set Multicast Addresses */
52 #define IXC_RECV	IXC_MAP(4)		/* Receive Frame */
53 #define IXC_RECVF	IXC_MAP(5)		/* Receive Fragment */
54 #define IXC_XMIT	IXC_MAP(6)		/* Send Frame */
55 #define IXC_GSTAT	IXC_MAP(7)		/* Get General Statistics */
56 #define IXC_CSTAT	IXC_MAP(8)		/* Get Channel Statistics */
57 #define IXC_GSCLR	IXC_MAP(9)		/* Clear General Statistics */
58 #define IXC_CSCLR	IXC_MAP(10)		/* Clear Channel Statistics */
59 #define IXC_RESET	IXC_MAP(11)		/* Reset DLA module */
60 #define IXC_LDPA	IXC_MAP(12)		/* Load Physical Address */
61