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

📄 ether8390.h

📁 著名操作系统Plan 9的第三版的部分核心源代码。现在很难找到了。Plan 9是bell实验室开发的Unix后继者。
💻 H
字号:
/* * Ctlr for the boards using the National Semiconductor DP8390 * and SMC 83C90 Network Interface Controller. * Common code is in ether8390.c. */typedef struct {	Lock;	ulong	port;			/* I/O address of 8390 */	ulong	data;			/* I/O data port if no shared memory */	uchar	width;			/* data transfer width in bytes */	uchar	ram;			/* true if card has shared memory */	uchar	dummyrr;		/* do dummy remote read */	uchar	nxtpkt;			/* receive: software bndry */	uchar	pstart;	uchar	pstop;	int	txbusy;			/* transmit */	uchar	tstart;			/* 8390 ring addresses */} Dp8390;#define Dp8390BufSz	256extern int dp8390reset(Ether*);extern void *dp8390read(Dp8390*, void*, ulong, ulong);extern void dp8390getea(Ether*, uchar*);extern void dp8390setea(Ether*);/* * x86-specific code. */#define regr(c, r)	inb((c)->port+(r))#define regw(c, r, v)	outb((c)->port+(r), (v))static voidrdread(Dp8390* ctlr, void* to, int len){	switch(ctlr->width){	default:		panic("dp8390 rdread: width %d\n", ctlr->width);		break;	case 2:		inss(ctlr->data, to, len/2);		break;	case 1:		insb(ctlr->data, to, len);		break;	}}static voidrdwrite(Dp8390* ctlr, void* from, int len){	switch(ctlr->width){	default:		panic("dp8390 rdwrite: width %d\n", ctlr->width);		break;	case 2:		outss(ctlr->data, from, len/2);		break;	case 1:		outsb(ctlr->data, from, len);		break;	}}

⌨️ 快捷键说明

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