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

1991/1112/port/devcons.c (diff list | history)

1991/1109/sys/src/9/port/devcons.c:334,3541991/1112/sys/src/9/port/devcons.c:334,354 (short | long | prev | next)
1990/0227    
}; 
 
Dirtab consdir[]={ 
1991/0607    
	"cons",		{Qcons},	0,		0600, 
	"cputime",	{Qcputime},	6*NUMSIZE,	0600, 
	"lights",	{Qlights},	0,		0600, 
	"noise",	{Qnoise},	0,		0600, 
	"null",		{Qnull},	0,		0600, 
	"pgrpid",	{Qpgrpid},	NUMSIZE,	0600, 
	"pid",		{Qpid},		NUMSIZE,	0600, 
	"ppid",		{Qppid},	NUMSIZE,	0600, 
	"rcons",	{Qrcons},	0,		0600, 
	"time",		{Qtime},	NUMSIZE,	0600, 
	"user",		{Quser},	0,		0600, 
	"klog",		{Qklog},	0,		0400, 
	"msec",		{Qmsec},	NUMSIZE,	0400, 
	"clock",	{Qclock},	2*NUMSIZE,	0400, 
	"sysstat",	{Qsysstat},	0,		0600, 
1991/1112    
	"cons",		{Qcons},	0,		0666, 
	"cputime",	{Qcputime},	6*NUMSIZE,	0666, 
	"lights",	{Qlights},	0,		0666, 
	"noise",	{Qnoise},	0,		0666, 
	"null",		{Qnull},	0,		0666, 
	"pgrpid",	{Qpgrpid},	NUMSIZE,	0666, 
	"pid",		{Qpid},		NUMSIZE,	0666, 
	"ppid",		{Qppid},	NUMSIZE,	0666, 
	"rcons",	{Qrcons},	0,		0666, 
	"time",		{Qtime},	NUMSIZE,	0666, 
	"user",		{Quser},	0,		0644, 
	"klog",		{Qklog},	0,		0444, 
	"msec",		{Qmsec},	NUMSIZE,	0444, 
	"clock",	{Qclock},	2*NUMSIZE,	0444, 
	"sysstat",	{Qsysstat},	0,		0444, 
1991/0705    
	"swap",		{Qswap},	0,		0666, 
1990/0227    
}; 
 
1991/1109/sys/src/9/port/devcons.c:432,4451991/1112/sys/src/9/port/devcons.c:432,437
1991/0607    
	int ch; 
 
	switch(c->qid.path){ 
	case Quser: 
		if(omode==(OWRITE|OTRUNC)){ 
1991/1109    
			if(strcmp(u->p->user, eve) == 0) 
1991/1105    
				u->p->user[0] = 0; 
1991/0607    
			else 
				error(Eperm); 
		} 
		break; 
	case Qrcons: 
1991/0620    
		if(conf.cntrlp) 
			error(Eperm); 
1991/1109/sys/src/9/port/devcons.c:616,6221991/1112/sys/src/9/port/devcons.c:608,614
1991/0425    
				mp = MACHP(id); 
				j += sprint(&xbuf[j], "%d %d %d %d %d %d %d %d\n", 
					id, mp->cs, mp->intr, mp->syscall, mp->pfault, 
1991/0607    
					    mp->tlbfault, mp->tlbpurge, m->spinlock); 
1991/1112    
					    mp->tlbfault, mp->tlbpurge, mp->load); 
1991/0425    
			} 
		} 
		return readstr(offset, buf, n, xbuf); 
1991/1109/sys/src/9/port/devcons.c:717,7241991/1112/sys/src/9/port/devcons.c:709,714
1990/0227    
		break; 
 
	case Quser: 
1991/1105    
		if(u->p->user[0])		/* trying to overwrite /dev/user */ 
1990/11211    
			error(Eperm); 
1991/0411    
		if(offset >= NAMELEN-1) 
1990/0227    
			return 0; 
1991/0411    
		if(offset+n >= NAMELEN-1) 
1991/1109/sys/src/9/port/devcons.c:754,7601991/1112/sys/src/9/port/devcons.c:744,749
1991/0425    
				mp->pfault = 0; 
				mp->tlbfault = 0; 
				mp->tlbpurge = 0; 
				mp->spinlock = 0; 
			} 
		} 
		break; 


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