|
|
1.1 root 1: /*
2: * Interlan NI1010A Ethernet controller
3: */
4:
5: /*
6: * one struct ilchan per minor device;
7: * eight of these per controller,
8: * embedded in struct il
9: */
10:
11: #define NILCHAN 8
12:
13: struct ilchan {
14: char unit;
15: char ndelims; /* number of packets waiting */
16: short type; /* ethernet protocol # */
17: struct queue *rq;
18: struct block *xcur; /* block now being sent */
19: struct block *xlast; /* last data block put */
20: };
21:
22: /*
23: * one struct il per controller
24: */
25:
26: struct il {
27: char flags;
28: char ubno;
29: short rbytes; /* buffer space now outstanding */
30: short rbufs; /* number of buffers outstanding */
31: short lastcsr; /* il_csr at last interrupt */
32: int ipackets, opackets;
33: int ierrors, oerrors;
34: int collisions;
35: int ilost;
36: struct ildevice *addr;
37: struct block *rfirst, *rlast; /* receive buffer */
38: struct block *rnext; /* where next block goes */
39: short rcur; /* bytes left in current packet */
40: char lastch; /* current transmit channel */
41: unsigned char enaddr[6]; /* my ethernet address */
42: struct ilchan chan[NILCHAN];
43: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.