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

2000/0126/ip/devip.c (diff list | history)

2000/0116/sys/src/9/ip/devip.c:127,1332000/0126/sys/src/9/ip/devip.c:127,137 (short | long | prev | next)
1997/0327    
	Qid q; 
	char *p; 
1998/0310    
	int prot; 
2000/0126    
	int len = 0; 
	Fs *f; 
1997/0327    
 
2000/0126    
	f = ipfs[c->dev]; 
 
1998/0310    
	prot = 0666; 
1997/0327    
	switch(i) { 
	default: 
2000/0116/sys/src/9/ip/devip.c:143,1482000/0126/sys/src/9/ip/devip.c:147,153
2000/0116    
	case Qndb: 
		p = "ndb"; 
		q = (Qid){QID(0, 0, Qndb), 0}; 
2000/0126    
		len = strlen(f->ndb); 
2000/0116    
		break; 
1997/0327    
	case Qiproute: 
		p = "iproute"; 
2000/0116/sys/src/9/ip/devip.c:162,1682000/0126/sys/src/9/ip/devip.c:167,173
1997/0327    
		q = (Qid){QID(0, 0, Qlog), 0}; 
		break; 
	} 
1998/0310    
	devdir(c, q, p, 0, network, prot, dp); 
2000/0126    
	devdir(c, q, p, len, network, prot, dp); 
1997/0327    
	return 1; 
} 
 
2000/0116/sys/src/9/ip/devip.c:350,3552000/0126/sys/src/9/ip/devip.c:355,366
1997/0327    
	switch(TYPE(c->qid)) { 
	default: 
		break; 
2000/0126    
	case Qndb: 
		if(omode & (OWRITE|OTRUNC) && !iseve()) 
			error(Eperm); 
		if((omode & (OWRITE|OTRUNC)) == (OWRITE|OTRUNC)) 
			f->ndb[0] = 0; 
		break; 
1997/0327    
	case Qlog: 
1998/0313    
		netlogopen(f); 
1997/0327    
		break; 
2000/0116/sys/src/9/ip/devip.c:1220,12302000/0126/sys/src/9/ip/devip.c:1231,1241
2000/0116    
long 
ndbwrite(Fs *f, char *a, ulong off, int n) 
{ 
	if(off != 0) 
2000/0126    
	if(off > strlen(f->ndb)) 
2000/0116    
		error(Eio); 
	if(n >= sizeof(f->ndb)) 
2000/0126    
	if(off+n >= sizeof(f->ndb)) 
2000/0116    
		error(Eio); 
	memmove(f->ndb, a, n); 
	f->ndb[n] = 0; 
2000/0126    
	memmove(f->ndb+off, a, n); 
	f->ndb[off+n] = 0; 
2000/0116    
	return n; 
1997/0327    
} 


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