⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 etherif.h

📁 著名操作系统Plan 9的第三版的部分核心源代码。现在很难找到了。Plan 9是bell实验室开发的Unix后继者。
💻 H
字号:
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*);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -