|
|
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.