henesyinit from p9fd787fda5 years agoHistory
48 lines · 1.3 KB · C
RawDownload
typedef struct RingBuf {	uchar	owner;	uchar	unused;	ushort	len;	uchar	pkt[sizeof(Etherpkt)];} RingBuf; enum {	Host		= 0,		/* buffer owned by host */	Interface	= 1,		/* buffer owned by card */ 	Nrb		= 16,		/* default number of receive buffers */	Ntb		= 2,		/* default number of transmit buffers */}; typedef struct Ether Ether;struct Ether {	ISAConf;			/* hardware info */	int	ctlrno;	int	state;	int	tbdf; 	void	(*attach)(Ether*);	/* filled in by reset routine */	void	(*transmit)(Ether*);	void	(*interrupt)(Ureg*, void*);	void	(*detach)(Ether*);	void	*ctlr; 	ushort	nrb;			/* number of software receive buffers */	ushort	ntb;			/* number of software transmit buffers */	RingBuf *rb;			/* software receive buffers */	RingBuf *tb;			/* software transmit buffers */ 	ushort	rh;			/* first receive buffer belonging to host */	ushort	ri;			/* first receive buffer belonging to card */	 	ushort	th;			/* first transmit buffer belonging to host */		ushort	ti;			/* first transmit buffer belonging to card */	int	tbusy;			/* transmitter is busy */	}; extern void etherrloop(Ether*, Etherpkt*, long);extern void addethercard(char*, int(*)(Ether*)); #define NEXT(x, l)	(((x)+1)%(l))#define PREV(x, l)	(((x) == 0) ? (l)-1: (x)-1) extern void printea(uchar*);

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t