xref: /386bsd/usr/src/kernel/is/isreg.h (revision a2142627)
1 /* Declarations specific to this driver */
2 #define NTBUF 2
3 #define TLEN 1
4 #define NRBUF 8
5 #define RLEN 3
6 #define BUFSIZE 1518
7 #define RAP 0xe
8 #define RDP 0xc
9 
10 /* Control and status register 0 flags */
11 
12 #define ERR	0x8000
13 #define BABL	0x4000
14 #define CERR	0x2000
15 #define MISS	0x1000
16 #define MERR	0x0800
17 #define RINT	0x0400
18 #define TINT	0x0200
19 #define IDON	0x0100
20 #define INTR	0x0080
21 #define INEA	0x0040
22 #define RXON	0x0020
23 #define TXON	0x0010
24 #define TDMD	0x0008
25 #define STOP	0x0004
26 #define STRT	0x0002
27 #define INIT	0x0001
28 
29 /* Coontrol and status register 3 flags */
30 
31 #define BSWP	0x0004
32 #define ACON	0x0002
33 #define BCON	0x0001
34 
35 /* Initialisation block (must be on word boundary) */
36 
37 struct init_block {
38        u_short mode;		/* Mode register 			*/
39        u_char  padr[6];		/* Ethernet address 			*/
40        u_char ladrf[8];		/* Logical address filter (multicast) 	*/
41        u_short rdra;		/* Low order pointer to receive ring 	*/
42        u_short rlen;		/* High order pointer and no. rings 	*/
43        u_short tdra;		/* Low order pointer to transmit ring 	*/
44        u_short tlen;		/* High order pointer and no rings 	*/
45        };
46 
47 /* Mode settings */
48 
49 #define PROM	0x8000		/* Promiscuous		*/
50 #define INTL	0x0040		/* Internal loopback	*/
51 #define DRTY	0x0020		/* Disable retry 	*/
52 #define COLL	0x0010		/* Force collision 	*/
53 #define DTCR	0x0008		/* Disable transmit crc	*/
54 #define LOOP	0x0004		/* Loop back 		*/
55 #define DTX	0x0002		/* Disable transmitter 	*/
56 #define DRX	0x0001		/* Disable receiver 	*/
57 
58 /* Message descriptor structure */
59 
60 struct mds {
61        u_short addr;
62        u_short flags;
63        u_short bcnt;
64        u_short mcnt;
65        };
66 
67 /* Receive ring status flags */
68 
69 #define OWN	0x8000		/* Owner bit, 0=host, 1=Lance 	*/
70 #define MDERR	0x4000		/* Error 			*/
71 #define FRAM	0x2000		/* Framing error error 		*/
72 #define OFLO	0x1000		/* Silo overflow 		*/
73 #define CRC	0x0800		/* CRC error 			*/
74 #define RBUFF	0x0400		/* Buffer error 		*/
75 #define STP	0x0200		/* Start of packet 		*/
76 #define ENP	0x0100		/* End of packet 		*/
77 
78 /* Transmit ring flags */
79 
80 #define MORE	0x1000		/* More than 1 retry 	*/
81 #define ONE	0x0800		/* One retry 		*/
82 #define DEF	0x0400		/* Deferred transmit 	*/
83 
84 /* Transmit errors */
85 
86 #define TBUFF	0x8000		/* Buffer error 	*/
87 #define UFLO	0x4000		/* Silo underflow	*/
88 #define LCOL	0x1000		/* Late collision 	*/
89 #define LCAR	0x0800		/* Loss of carrier 	*/
90 #define RTRY	0x0400		/* Tried 16 times 	*/
91