plan 9 kernel history: overview | file list | diff list

2001/0527/pc/devether.c (diff list | history)

2001/0504/sys/src/9/pc/devether.c:35,502001/0527/sys/src/9/pc/devether.c:35,50 (short | long | prev | next)
1997/0327    
	return chan; 
1993/1113    
} 
1992/0922    
 
1997/0327    
static int 
etherwalk(Chan* chan, char* name) 
2001/0527    
static Walkqid* 
etherwalk(Chan* chan, Chan* nchan, char** name, int nname) 
1992/0411    
{ 
1997/0327    
	return netifwalk(etherxx[chan->dev], chan, name); 
2001/0527    
	return netifwalk(etherxx[chan->dev], chan, nchan, name, nname); 
1992/0424    
} 
1992/0411    
 
1997/0327    
static void 
etherstat(Chan* chan, char* dp) 
2001/0527    
static int 
etherstat(Chan* chan, uchar* dp, int n) 
1992/0424    
{ 
1997/0327    
	netifstat(etherxx[chan->dev], chan, dp); 
2001/0527    
	return netifstat(etherxx[chan->dev], chan, dp, n); 
1992/0424    
} 
 
1997/0327    
static Chan* 
2001/0504/sys/src/9/pc/devether.c:71,772001/0527/sys/src/9/pc/devether.c:71,77
1998/0319    
	ulong offset = off; 
1996/0607    
 
1997/0327    
	ether = etherxx[chan->dev]; 
	if((chan->qid.path & CHDIR) == 0 && ether->ifstat){ 
2001/0527    
	if((chan->qid.type & QTDIR) == 0 && ether->ifstat){ 
1996/0607    
		/* 
		 * With some controllers it is necessary to reach 
		 * into the chip to extract statistics. 
2001/0504/sys/src/9/pc/devether.c:96,1132001/0527/sys/src/9/pc/devether.c:96,112
1992/0424    
{ 
} 
 
1997/0327    
static void 
etherwstat(Chan* chan, char* dp) 
2001/0527    
static int 
etherwstat(Chan* chan, uchar* dp, int n) 
1992/0424    
{ 
1997/0327    
	netifwstat(etherxx[chan->dev], chan, dp); 
2001/0527    
	return netifwstat(etherxx[chan->dev], chan, dp, n); 
1992/0424    
} 
 
1997/0327    
static void 
etherrtrace(Netfile* f, Etherpkt* pkt, int len) 
1993/1120    
{ 
2001/0203    
	int n; 
2001/0527    
	int i, n; 
1995/0713    
	Block *bp; 
2001/0203    
	uvlong ts; 
1997/0327    
 
	if(qwindow(f->in) <= 0) 
		return; 
2001/0504/sys/src/9/pc/devether.c:115,1362001/0527/sys/src/9/pc/devether.c:114,131
2000/0713    
		n = 58; 
1997/0327    
	else 
		n = len; 
2001/0203    
	bp = iallocb(68); 
2001/0527    
	bp = iallocb(64); 
2000/0713    
	if(bp == nil) 
1997/0327    
		return; 
	memmove(bp->wp, pkt->d, n); 
2001/0203    
	ts = fastticks(nil); 
2001/0527    
	i = TK2MS(MACHP(0)->ticks); 
1997/0327    
	bp->wp[58] = len>>8; 
	bp->wp[59] = len; 
2001/0203    
	bp->wp[60] = ts>>56; 
	bp->wp[61] = ts>>48; 
	bp->wp[62] = ts>>40; 
	bp->wp[63] = ts>>32; 
	bp->wp[64] = ts>>24; 
	bp->wp[65] = ts>>16; 
	bp->wp[66] = ts>>8; 
	bp->wp[67] = ts; 
	bp->wp += 68; 
2001/0527    
	bp->wp[60] = i>>24; 
	bp->wp[61] = i>>16; 
	bp->wp[62] = i>>8; 
	bp->wp[63] = i; 
	bp->wp += 64; 
1997/0327    
	qpass(f->in, bp); 
} 
 
2001/0504/sys/src/9/pc/devether.c:248,2542001/0527/sys/src/9/pc/devether.c:243,249
1998/0319    
etherwrite(Chan* chan, void* buf, long n, vlong) 
1992/0407    
{ 
1997/0327    
	Ether *ether; 
2001/0504    
	Block *volatile bp; 
2001/0527    
	Block *bp; 
2000/0817    
	int nn; 
1992/0407    
 
1997/0327    
	ether = etherxx[chan->dev]; 
2001/0504/sys/src/9/pc/devether.c:357,3632001/0527/sys/src/9/pc/devether.c:352,358
1992/0424    
{ 
1997/0327    
	Ether *ether; 
1993/1113    
	int i, n, ctlrno; 
1997/0327    
	char name[NAMELEN], buf[128]; 
2001/0527    
	char name[32], buf[128]; 
1992/0410    
 
1997/0327    
	for(ether = 0, ctlrno = 0; ctlrno < MaxEther; ctlrno++){ 
		if(ether == 0) 
2001/0504/sys/src/9/pc/devether.c:461,4672001/0527/sys/src/9/pc/devether.c:456,461
1997/0327    
	etherreset, 
	devinit, 
	etherattach, 
	devclone, 
	etherwalk, 
	etherstat, 
	etheropen, 


source code copyright © 1990-2005 Lucent Technologies; see license
Plan 9 distribution
comments to russ cox (rsc@swtch.com)