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

1999/1230/port/devbridge.c (diff list | history)

1999/0930/sys/src/9/port/devbridge.c:222,2421999/1230/sys/src/9/port/devbridge.c:222,227 (short | long | prev | next)
1999/0316    
static int 
bridgewalk(Chan *c, char *name) 
{ 
	if(strcmp(name, "..") == 0){ 
		switch(TYPE(c->qid)){ 
		case Qtopdir: 
		case Qbridgedir: 
			c->qid = (Qid){CHDIR|Qtopdir, 0}; 
			break; 
		case Qportdir: 
			c->qid = (Qid){CHDIR|Qbridgedir, 0}; 
			break; 
		default: 
			panic("bridgewalk %lux", c->qid.path); 
		} 
		return 1; 
	} 
                 
	return devwalk(c, name, 0, 0, bridgegen); 
} 
 
1999/0930/sys/src/9/port/devbridge.c:430,4351999/1230/sys/src/9/port/devbridge.c:415,437
1999/0316    
	char buf[32]; 
	Dirtab *dt; 
	Qid qid; 
1999/1230    
 
	if(s  == DEVDOTDOT){ 
		switch(TYPE(c->qid)){ 
		case Qtopdir: 
		case Qbridgedir: 
			snprint(buf, "#B%d", c->dev); 
			devdir(c, (Qid){CHDIR|Qtopdir, 0}, buf, 0, eve, 0555, dp); 
			break; 
		case Qportdir: 
			sprint(buf, "bridge%ld", c->dev); 
			devdir(c, (Qid){CHDIR|Qbridgedir, 0}, buf, 0, eve, 0555, dp); 
			break; 
		default: 
			panic("bridgewalk %lux", c->qid.path); 
		} 
		return 1; 
	} 
1999/0316    
 
	switch(type) { 
	default: 


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