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

1990/0720/port/devcons.c (diff list | history)

1990/0718/sys/src/9/port/devcons.c:290,2951990/0720/sys/src/9/port/devcons.c:290,296 (short | long | prev | next)
1990/0227    
	Qdir, 
	Qcons, 
	Qcputime, 
1990/0720    
	Qlog, 
1990/0227    
	Qnull, 
	Qpgrpid, 
	Qpid, 
1990/0718/sys/src/9/port/devcons.c:301,3061990/0720/sys/src/9/port/devcons.c:302,308
1990/0227    
Dirtab consdir[]={ 
	"cons",		Qcons,		0,	0600, 
	"cputime",	Qcputime,	72,	0600, 
1990/0720    
	"log",		Qlog,		sizeof(SYSLOG->buf),	0600, 
1990/0227    
	"null",		Qnull,		0,	0600, 
	"pgrpid",	Qpgrpid,	12,	0600, 
	"pid",		Qpid,		12,	0600, 
1990/0718/sys/src/9/port/devcons.c:496,5011990/0720/sys/src/9/port/devcons.c:498,506
1990/0227    
	case Quser: 
		return readstr(c->offset, buf, n, u->p->pgrp->user); 
 
1990/0720    
	case Qlog: 
		return readlog(c->offset, buf, n); 
 
1990/0227    
	case Qnull: 
		return 0; 
 
1990/0718/sys/src/9/port/devcons.c:587,5901990/0720/sys/src/9/port/devcons.c:592,660
1990/0227    
consuserstr(Error *e, char *buf) 
{ 
	strcpy(buf, u->p->pgrp->user); 
1990/0720    
} 
 
/* 
 *  crash info 
 */ 
void 
sysloginit(void) 
{ 
	Syslog *s; 
	char *p; 
 
	s = SYSLOG; 
	if(s->magic!=SYSLOGMAGIC || s->next>=&s->buf[sizeof(s->buf)] 
	|| s->next<s->buf){ 
		s->next = s->buf; 
		s->magic = SYSLOGMAGIC; 
	} 
} 
 
void 
syslog(char *p, int n) 
{ 
	int i; 
	Syslog *s; 
	char *end; 
 
	s = SYSLOG; 
	end = &s->buf[sizeof(s->buf)]; 
	while(n-- > 0){ 
		*s->next++ = *p++; 
		if(s->next >= end) 
			s->next = s->buf; 
	} 
} 
 
long 
readlog(ulong off, char *buf, ulong n) 
{ 
	Syslog *s; 
	int i; 
	char *p; 
	char *end; 
 
	s = SYSLOG; 
 
	/* past end */ 
	if(off >= sizeof(s->buf)) 
		return 0; 
 
	/* trim length */ 
	if(off + n >= sizeof(s->buf)) 
		n = sizeof(s->buf) - off; 
 
	/* point to start of area to be read */ 
	end = &s->buf[sizeof(s->buf)]; 
	p = s->next + off; 
	if(p > end) 
		p -= sizeof(s->buf); 
 
	for(i = 0; i < n; i++){ 
		*buf++ = *p++; 
		if(p >= end) 
			p = s->buf; 
	} 
	return n; 
1990/0227    
} 


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