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

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

1999/1230/sys/src/9/ip/devip.c:12,172000/0116/sys/src/9/ip/devip.c:12,18 (short | long | prev | next)
1997/0327    
	Qtopbase, 
	Qarp=		Qtopbase, 
1998/0313    
	Qbootp, 
2000/0116    
	Qndb, 
1997/0327    
	Qiproute, 
1998/0306    
	Qiprouter, 
1998/0310    
	Qipselftab, 
1999/1230/sys/src/9/ip/devip.c:54,612000/0116/sys/src/9/ip/devip.c:55,63
1998/0313    
Fs	*ipfs[Nfs];	/* attached fs's */ 
Queue	*qlog; 
 
1998/0423    
extern void nullmediumlink(void); 
extern void pktmediumlink(void); 
2000/0116    
extern	void nullmediumlink(void); 
extern	void pktmediumlink(void); 
	long ndbwrite(Fs *f, char *a, ulong off, int n); 
1998/0423    
 
1997/0327    
static int 
ip3gen(Chan *c, int i, Dir *dp) 
1999/1230/sys/src/9/ip/devip.c:138,1432000/0116/sys/src/9/ip/devip.c:140,149
1998/0313    
		p = "bootp"; 
		q = (Qid){QID(0, 0, Qbootp), 0}; 
		break; 
2000/0116    
	case Qndb: 
		p = "ndb"; 
		q = (Qid){QID(0, 0, Qndb), 0}; 
		break; 
1997/0327    
	case Qiproute: 
		p = "iproute"; 
		q = (Qid){QID(0, 0, Qiproute), 0}; 
1999/1230/sys/src/9/ip/devip.c:189,1942000/0116/sys/src/9/ip/devip.c:195,201
1997/0327    
		return ip1gen(c, s+Qtopbase, dp); 
	case Qarp: 
1998/0313    
	case Qbootp: 
2000/0116    
	case Qndb: 
1997/0327    
	case Qlog: 
	case Qiproute: 
1998/0306    
	case Qiprouter: 
1999/1230/sys/src/9/ip/devip.c:550,5552000/0116/sys/src/9/ip/devip.c:557,564
1998/0313    
		return arpread(f->arp, a, offset, n); 
 	case Qbootp: 
 		return bootpread(a, offset, n); 
2000/0116    
 	case Qndb: 
		return readstr(offset, a, n, f->ndb); 
1997/0327    
	case Qiproute: 
1998/0313    
		return routeread(f, a, offset, n); 
1998/0310    
	case Qipselftab: 
1999/1230/sys/src/9/ip/devip.c:883,8892000/0116/sys/src/9/ip/devip.c:892,898
1998/0306    
} 
 
1997/0327    
static long 
1999/0320    
ipwrite(Chan* ch, void *v, long n, vlong) 
2000/0116    
ipwrite(Chan* ch, void *v, long n, vlong off) 
1997/0327    
{ 
	Conv *c; 
	Proto *x; 
1999/1230/sys/src/9/ip/devip.c:892,8972000/0116/sys/src/9/ip/devip.c:901,907
1998/0502    
	uchar ia[IPaddrlen], ma[IPaddrlen]; 
1998/0313    
	Fs *f; 
1999/0320    
	char *a; 
2000/0116    
	ulong offset = off; 
1997/0327    
 
1999/0320    
	a = v; 
1998/0313    
	f = ipfs[ch->dev]; 
1999/1230/sys/src/9/ip/devip.c:918,9232000/0116/sys/src/9/ip/devip.c:928,936
1997/0327    
		if(p != nil) 
			error(p); 
		return n; 
2000/0116    
	case Qndb: 
		return ndbwrite(f, a, offset, n); 
		break; 
1997/0327    
	case Qctl: 
1998/0313    
		x = f->p[PROTO(ch->qid)]; 
1997/0327    
		c = x->conv[CONV(ch->qid)]; 
1999/1230/sys/src/9/ip/devip.c:1202,12052000/0116/sys/src/9/ip/devip.c:1215,1230
1997/0327    
	wakeup(&c->listenr); 
 
	return nc; 
2000/0116    
} 
 
long 
ndbwrite(Fs *f, char *a, ulong off, int n) 
{ 
	if(off != 0) 
		error(Eio); 
	if(n >= sizeof(f->ndb)) 
		error(Eio); 
	memmove(f->ndb, a, n); 
	f->ndb[n] = 0; 
	return n; 
1997/0327    
} 


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