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