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

2001/0403/ip/devip.c (diff list | history)

2001/0306/sys/src/9/ip/devip.c:82,902001/0403/sys/src/9/ip/devip.c:82,90 (short | long | prev | next)
1997/0327    
		devdir(c, q, "err", qlen(cv->eq), cv->owner, cv->perm, dp); 
		return 1; 
	case Qlisten: 
		p = "listen"; 
		q = (Qid){QID(PROTO(c->qid), CONV(c->qid), Qlisten), 0}; 
		break; 
2001/0403    
		devdir(c, q, "listen", qlen(cv->eq), cv->owner, cv->perm, dp); 
		return 1; 
1997/0327    
	case Qlocal: 
		p = "local"; 
		q = (Qid){QID(PROTO(c->qid), CONV(c->qid), Qlocal), 0}; 
2001/0306/sys/src/9/ip/devip.c:98,1042001/0403/sys/src/9/ip/devip.c:98,104
1997/0327    
		q = (Qid){QID(PROTO(c->qid), CONV(c->qid), Qstatus), 0}; 
		break; 
	} 
1998/0306    
	devdir(c, q, p, 0, cv->owner, 0666, dp); 
2001/0403    
	devdir(c, q, p, 0, cv->owner, 0444, dp); 
1997/0327    
	return 1; 
} 
 
2001/0306/sys/src/9/ip/devip.c:419,4242001/0403/sys/src/9/ip/devip.c:419,432
1997/0327    
		break; 
	case Qlisten: 
1998/0313    
		cv = f->p[PROTO(c->qid)]->conv[CONV(c->qid)]; 
2001/0403    
		if((perm & (cv->perm>>6)) != perm) { 
			if(strcmp(commonuser(), cv->owner) != 0) 
				error(Eperm); 
		 	if((perm & cv->perm) != perm) 
				error(Eperm);  
 
		} 
 
1997/0327    
		if(cv->state != Announced) 
			error("not announced"); 
 
2001/0306/sys/src/9/ip/devip.c:470,4782001/0403/sys/src/9/ip/devip.c:478,511
1997/0327    
} 
 
static void 
ipwstat(Chan*, char*) 
2001/0403    
ipwstat(Chan *c, char *dp) 
1997/0327    
{ 
	error(Eperm); 
2001/0403    
	Dir d; 
	Conv *cv; 
	Fs *f; 
	Proto *p; 
 
	f = ipfs[c->dev]; 
	switch(TYPE(c->qid)) { 
	default: 
		error(Eperm); 
		break; 
	case Qctl: 
	case Qdata: 
		break; 
	} 
 
	convM2D(dp, &d); 
 
	p = f->p[PROTO(c->qid)]; 
	cv = p->conv[CONV(c->qid)]; 
	if(!iseve() && strcmp(commonuser(), cv->owner) != 0) 
		error(Eperm); 
	if(d.uid[0]){ 
		strncpy(cv->owner, d.uid, sizeof(cv->owner)); 
		cv->owner[sizeof(cv->owner)-1] = 0; 
	} 
	cv->perm = d.mode & 0777; 
1997/0327    
} 
 
1999/0910    
void 


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