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

1991/0212/port/devproc.c (diff list | history)

1991/0212/sys/src/9/port/devproc.c:269,2801991/0318/sys/src/9/port/devproc.c:269,279 (short | long | prev | next)
1990/0227    
			}else{ 
1990/0614    
				k = kmap(pg); 
				b = (char*)VA(k); 
1990/0227    
				memcpy(a, b+(c->offset&(BY2PG-1)), n); 
1991/0318    
				memmove(a, b+(c->offset&(BY2PG-1)), n); 
1990/0614    
				kunmap(k); 
1990/0227    
			} 
			return n; 
		} 
                 
		/* u area */ 
1990/1110    
		if(c->offset>=USERADDR && c->offset<USERADDR+BY2PG){ 
1990/0227    
			if(c->offset+n > USERADDR+BY2PG) 
1991/0212/sys/src/9/port/devproc.c:284,2901991/0318/sys/src/9/port/devproc.c:283,289
1990/11211    
				error(Eprocdied); 
1990/0614    
			k = kmap(pg); 
			b = (char*)VA(k); 
1990/0227    
			memcpy(a, b+(c->offset-USERADDR), n); 
1991/0318    
			memmove(a, b+(c->offset-USERADDR), n); 
1990/0614    
			kunmap(k); 
1990/0227    
			return n; 
		} 
1991/0212/sys/src/9/port/devproc.c:293,2991991/0318/sys/src/9/port/devproc.c:292,298
1990/0614    
		if(c->offset>=KZERO && c->offset<KZERO+conf.npage0*BY2PG){ 
			if(c->offset+n > KZERO+conf.npage0*BY2PG) 
				n = KZERO+conf.npage0*BY2PG - c->offset; 
1990/0914    
			memcpy(a, (char*)c->offset, n); 
1991/0318    
			memmove(a, (char*)c->offset, n); 
1990/0914    
			return n; 
1990/0227    
		} 
		return 0; 
1991/0212/sys/src/9/port/devproc.c:319,3271991/0318/sys/src/9/port/devproc.c:318,326
1990/0227    
		if(up->nnote == 0) 
			n = 0; 
		else{ 
			memcpy(va, up->note[0].msg, ERRLEN); 
1991/0318    
			memmove(va, up->note[0].msg, ERRLEN); 
1990/0227    
			up->nnote--; 
			memcpy(&up->note[0], &up->note[1], up->nnote*sizeof(Note)); 
1991/0318    
			memmove(&up->note[0], &up->note[1], up->nnote*sizeof(Note)); 
1990/0227    
			n = ERRLEN; 
		} 
1990/0614    
		kunmap(k); 
1991/0212/sys/src/9/port/devproc.c:333,3391991/0318/sys/src/9/port/devproc.c:332,338
1990/0227    
			return 0; 
		if(c->offset+n > sizeof(Proc)) 
			n = sizeof(Proc) - c->offset; 
		memcpy(a, ((char*)p)+c->offset, n); 
1991/0318    
		memmove(a, ((char*)p)+c->offset, n); 
1990/0227    
		return n; 
 
	case Qstatus: 
1991/0212/sys/src/9/port/devproc.c:349,3551991/0318/sys/src/9/port/devproc.c:348,354
1990/0614    
			l = TK2MS(l); 
1990/0227    
			readnum(0, statbuf+2*NAMELEN+12+NUMSIZE*i, NUMSIZE, l, NUMSIZE); 
		} 
		memcpy(a, statbuf+c->offset, n); 
1991/0318    
		memmove(a, statbuf+c->offset, n); 
1990/0227    
		return n; 
	} 
1990/11211    
	error(Egreg); 
1991/0212/sys/src/9/port/devproc.c:417,4231991/0318/sys/src/9/port/devproc.c:416,422
1990/11211    
			error(Etoobig); 
1990/0227    
		if(n>=4 && strncmp(va, "sys:", 4)==0) 
1990/11211    
			error(Ebadarg); 
1990/0227    
		memcpy(buf, va, n); 
1991/0318    
		memmove(buf, va, n); 
1990/0227    
		buf[n] = 0; 
		if(!postnote(p, 0, buf, NUser)) 
1990/11211    
			error(Enonote); 


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