## diffname pc/etherif.h 1993/1113
## diff -e /dev/null /n/fornaxdump/1993/1113/sys/src/brazil/pc/etherif.h
0a
enum {
MaxEther = 4,
Ntypes = 8,
};
typedef struct Ether Ether;
struct Ether {
ISAConf; /* hardware info */
void (*attach)(Ether*); /* filled in by reset routine */
long (*write)(Ether*, void*, long);
void (*interrupt)(Ether*);
void *private;
Etherpkt tpkt; /* transmit buffer */
Etherpkt rpkt; /* receive buffer */
QLock tlock; /* lock for grabbing transmitter queue */
Rendez tr; /* wait here for free xmit buffer */
long tlen; /* length of data in tb for txfifo management */
Netif;
};
#define NEXT(x, l) (((x)+1)%(l))
#define HOWMANY(x, y) (((x)+((y)-1))/(y))
#define ROUNDUP(x, y) (HOWMANY((x), (y))*(y))
extern void addethercard(char*, int(*)(Ether*));
.
## diffname pc/etherif.h 1993/1116
## diff -e /n/fornaxdump/1993/1113/sys/src/brazil/pc/etherif.h /n/fornaxdump/1993/1116/sys/src/brazil/pc/etherif.h
24a
typedef struct {
uchar bit16; /* true if a 16 bit interface */
uchar ram; /* true if card has shared memory */
ulong dp8390; /* I/O address of 8390 */
ulong data; /* I/O data port if no shared memory */
uchar nxtpkt; /* software bndry */
uchar tstart; /* 8390 ring addresses */
uchar pstart;
uchar pstop;
} Dp8390;
.
## diffname pc/etherif.h 1993/1118
## diff -e /n/fornaxdump/1993/1116/sys/src/brazil/pc/etherif.h /n/fornaxdump/1993/1118/sys/src/brazil/pc/etherif.h
35a
#define Dp8390BufSz 256
extern int dp8390reset(Ether*);
extern void dp8390getea(Ether*);
extern void dp8390setea(Ether*);
.
31c
uchar nxtpkt; /* receive: software bndry */
uchar busy; /* transmit: busy */
.
## diffname pc/etherif.h 1993/1119
## diff -e /n/fornaxdump/1993/1118/sys/src/brazil/pc/etherif.h /n/fornaxdump/1993/1119/sys/src/brazil/pc/etherif.h
33d
20c
long tlen; /* length of data in tpkt */
.
## diffname pc/etherif.h 1993/1124
## diff -e /n/fornaxdump/1993/1119/sys/src/brazil/pc/etherif.h /n/fornaxdump/1993/1124/sys/src/brazil/pc/etherif.h
12c
void (*interrupt)(Ureg*, void*);
.
## diffname pc/etherif.h 1994/0128
## diff -e /n/fornaxdump/1993/1124/sys/src/brazil/pc/etherif.h /n/fornaxdump/1994/0128/sys/src/brazil/pc/etherif.h
42a
extern void *dp8390read(Dp8390*, void*, ulong, ulong);
extern void *dp8390write(Dp8390*, ulong, void*, ulong);
.
## diffname pc/etherif.h 1994/0130
## diff -e /n/fornaxdump/1994/0128/sys/src/brazil/pc/etherif.h /n/fornaxdump/1994/0130/sys/src/brazil/pc/etherif.h
44a
extern void dp8390getea(Ether*);
extern void dp8390setea(Ether*);
.
41,42d
## diffname pc/etherif.h 1994/0202
## diff -e /n/fornaxdump/1994/0130/sys/src/brazil/pc/etherif.h /n/fornaxdump/1994/0202/sys/src/brazil/pc/etherif.h
49,50d
24a
extern void etherrloop(Ether*, Etherpkt*, long);
extern void addethercard(char*, int(*)(Ether*));
/*
* Stuff for the boards using the National Semiconductor DP8390
* and SMC 83C90 Network Interface Controller.
* Common code is in ether8390.c.
*/
.
## diffname pc/etherif.h 1994/0702
## diff -e /n/fornaxdump/1994/0202/sys/src/brazil/pc/etherif.h /n/fornaxdump/1994/0702/sys/src/brazil/pc/etherif.h
25c
extern void etherrloop(Ether*, Etherpkt*, long, int);
.
## diffname pc/etherif.h 1995/0129
## diff -e /n/fornaxdump/1994/0702/sys/src/brazil/pc/etherif.h /n/fornaxdump/1995/0129/sys/src/brazil/pc/etherif.h
2c
MaxEther = 8,
.
## diffname pc/etherif.h 1995/0721
## diff -e /n/fornaxdump/1995/0129/sys/src/brazil/pc/etherif.h /n/fornaxdump/1995/0721/sys/src/brazil/pc/etherif.h
25c
extern void etherrloop(Ether*, Etherpkt*, long);
.
13c
void *ctlr;
.
8a
int ctlrno;
.
## diffname pc/etherif.h 1996/0420
## diff -e /n/fornaxdump/1995/0721/sys/src/brazil/pc/etherif.h /n/fornaxdump/1996/0420/sys/src/brazil/pc/etherif.h
52d
## diffname pc/etherif.h 1996/0601
## diff -e /n/fornaxdump/1996/0420/sys/src/brazil/pc/etherif.h /n/fornaxdump/1996/0601/sys/src/brazil/pc/etherif.h
9a
int mbps; /* Mbps */
.
## diffname pc/etherif.h 1996/0607
## diff -e /n/fornaxdump/1996/0601/sys/src/brazil/pc/etherif.h /n/fornaxdump/1996/0607/sys/src/brazil/pc/etherif.h
14a
long (*ifstat)(Ether*, void*, long, ulong);
.
2c
MaxEther = 24,
.
## diffname pc/etherif.h 1996/0622
## diff -e /n/fornaxdump/1996/0607/sys/src/brazil/pc/etherif.h /n/fornaxdump/1996/0622/sys/src/brazil/pc/etherif.h
56a
#define PREV(x, l) (((x) == 0) ? (l)-1: (x)-1)
.
## diffname pc/etherif.h 1997/0327
## diff -e /n/fornaxdump/1996/0622/sys/src/brazil/pc/etherif.h /n/emeliedump/1997/0327/sys/src/brazil/pc/etherif.h
30,54d
28c
extern Block* etheriq(Ether*, Block*, int);
.
21,24d
18,19c
Queue* oq;
.
13c
void (*transmit)(Ether*);
.
10a
uchar ea[Eaddrlen];
.
9a
int tbdf; /* type+busno+devno+funcno */
.
## diffname pc/etherif.h 1997/0415
## diff -e /n/emeliedump/1997/0327/sys/src/brazil/pc/etherif.h /n/emeliedump/1997/0415/sys/src/brazil/pc/etherif.h
26a
extern ulong ethercrc(uchar*, int);
.
## diffname pc/etherif.h 1998/0423
## diff -e /n/emeliedump/1997/0415/sys/src/brazil/pc/etherif.h /n/emeliedump/1998/0423/sys/src/brazil/pc/etherif.h
8a
.
## diffname pc/etherif.h 2000/0817
## diff -e /n/emeliedump/1998/0423/sys/src/brazil/pc/etherif.h /n/emeliedump/2000/0817/sys/src/9/pc/etherif.h
18a
long (*ctl)(Ether*, void*, long); /* custom ctl messages */
.
13a
int encry;
.
## diffname pc/etherif.h 2000/0921
## diff -e /n/emeliedump/2000/0817/sys/src/9/pc/etherif.h /n/emeliedump/2000/0921/sys/src/9/pc/etherif.h
12a
int minmtu;
int maxmtu;
.
## diffname pc/etherif.h 2001/1022
## diff -e /n/emeliedump/2000/0921/sys/src/9/pc/etherif.h /n/emeliedump/2001/1022/sys/src/9/pc/etherif.h
16d
## diffname pc/etherif.h 2002/0109
## diff -e /n/emeliedump/2001/1022/sys/src/9/pc/etherif.h /n/emeliedump/2002/0109/sys/src/9/pc/etherif.h
21a
void (*shutdown)(Ether*); /* shutdown hardware before reboot */
.
## diffname pc/etherif.h 2002/0217
## diff -e /n/emeliedump/2002/0109/sys/src/9/pc/etherif.h /n/emeliedump/2002/0217/sys/src/9/pc/etherif.h
32a
extern int parseether(uchar*, char*);
.
## diffname pc/etherif.h 2002/0615
## diff -e /n/emeliedump/2002/0217/sys/src/9/pc/etherif.h /n/emeliedump/2002/0615/sys/src/9/pc/etherif.h
17a
void (*detach)(Ether*);
.
## diffname pc/etherif.h 2002/0620
## diff -e /n/emeliedump/2002/0615/sys/src/9/pc/etherif.h /n/emeliedump/2002/0620/sys/src/9/pc/etherif.h
22a
void (*power)(Ether*, int); /* power on/off */
.
## diffname pc/etherif.h 2003/0209
## diff -e /n/emeliedump/2002/0620/sys/src/9/pc/etherif.h /n/emeliedump/2003/0209/sys/src/9/pc/etherif.h
12d
|