~kris/9p

9hist

c6bdc0380b504f6df8ecc6e4666bbcf43b2780d0 — David du Colombier 31 years ago d2a73d8
Plan 9 from Bell Labs 1995-08-04
M port/alarm.c => port/alarm.c +1 -3
@@ 9,13 9,11 @@ Rendez	alarmr;
Talarm	talarm;

void
alarmkproc(void *arg)
alarmkproc(void*)
{
	Proc *rp;
	ulong now;

	USED(arg);

	for(;;){
		now = MACHP(0)->ticks;
		qlock(&alarms);

M port/dev.c => port/dev.c +0 -1
@@ 67,7 67,6 @@ devattach(int tc, char *spec)
	Chan *c;
	char buf[NAMELEN+4];

	USED(spec);
	c = newchan();
	c->qid = (Qid){CHDIR, 0};
	c->type = devno(tc, 0);

M port/devaudio.c => port/devaudio.c +6 -20
@@ 420,9 420,8 @@ audiosbintr(void)
}

void
pcaudiosbintr(Ureg *ureg, void *rock)
pcaudiosbintr(Ureg*, void*)
{
	USED(ureg, rock);
/*	print("sb16 audio interrupt\n");	/**/
	audiosbintr();
}


@@ 434,9 433,8 @@ audiodmaintr(void)
}

static int
anybuf(void *p)
anybuf(void*)
{
	USED(p);
	return audio.intr;
}



@@ 664,13 662,8 @@ audioopen(Chan *c, int omode)
}

void
audiocreate(Chan *c, char *name, int omode, ulong perm)
audiocreate(Chan*, char*, int, ulong)
{
	USED(c);
	USED(name);
	USED(omode);
	USED(perm);

	error(Eperm);
}



@@ 806,15 799,13 @@ audiobread(Chan *c, long n, ulong offset)
}

long
audiowrite(Chan *c, char *a, long n, ulong offset)
audiowrite(Chan *c, char *a, long n, ulong)
{
	long m, n0;
	int i, nf, v, left, right, in, out;
	char buf[255], *field[Ncmd];
	Buf *b;

	USED(offset);

	n0 = n;
	switch(c->qid.path & ~CHDIR) {
	default:


@@ 941,19 932,14 @@ audiobwrite(Chan *c, Block *bp, ulong offset)
}

void
audioremove(Chan *c)
audioremove(Chan*)
{
	USED(c);

	error(Eperm);
}

void
audiowstat(Chan *c, char *dp)
audiowstat(Chan*, char*)
{
	USED(c);
	USED(dp);

	error(Eperm);
}


M port/devboot.c => port/devboot.c +4 -8
@@ 60,16 60,14 @@ bootopen(Chan *c, int omode)
}

void	 
bootcreate(Chan *c, char *name, int omode, ulong perm)
bootcreate(Chan*, char*, int, ulong)
{
	USED(c, name, omode, perm);
	error(Eperm);
}

void	 
bootclose(Chan *c)
bootclose(Chan*)
{
	USED(c);
}

long	 


@@ 133,15 131,13 @@ bootbwrite(Chan *c, Block *bp, ulong offset)
}

void	 
bootremove(Chan *c)
bootremove(Chan*)
{
	USED(c);
	error(Eperm);
}

void	 
bootwstat(Chan *c, char *dp)
bootwstat(Chan*, char*)
{
	USED(c, dp);
	error(Eperm);
}

M port/devcons.c => port/devcons.c +5 -10
@@ 119,12 119,11 @@ print(char *fmt, ...)
}

int
fprint(int fd, char *fmt, ...)	/* needed so we can use user-level libg */
fprint(int, char *fmt, ...)	/* needed so we can use user-level libg */
{
	char buf[PRINTSIZE];
	int n;

	USED(fd);
	n = doprint(buf, buf+sizeof(buf), fmt, (&fmt+1)) - buf;
	putstrn(buf, n);



@@ 266,13 265,12 @@ kbdcr2nl(Queue *q, int ch)
 *  Called at interrupt time to process a character.
 */
int
kbdputc(Queue *q, int ch)
kbdputc(Queue*, int ch)
{
	int n;
	char buf[3];
	Rune r;

	USED(q);
	r = ch;
	n = runetochar(buf, &r);
	if(n == 0)


@@ 455,9 453,8 @@ consopen(Chan *c, int omode)
}

void
conscreate(Chan *c, char *name, int omode, ulong perm)
conscreate(Chan*, char*, int, ulong)
{
	USED(c, name, omode, perm);
	error(Eperm);
}



@@ 853,16 850,14 @@ consbwrite(Chan *c, Block *bp, ulong offset)
}

void
consremove(Chan *c)
consremove(Chan*)
{
	USED(c);
	error(Eperm);
}

void
conswstat(Chan *c, char *dp)
conswstat(Chan*, char*)
{
	USED(c, dp);
	error(Eperm);
}


M port/devdup.c => port/devdup.c +7 -16
@@ 9,15 9,13 @@


int
dupgen(Chan *c, Dirtab *tab, int ntab, int s, Dir *dp)
dupgen(Chan *c, Dirtab*, int, int s, Dir *dp)
{
	char buf[8];
	Fgrp *fgrp = up->fgrp;
	Chan *f;
	static int perm[] = { 0400, 0200, 0600, 0 };

	USED(tab);
	USED(ntab);
	if(s >= NFD)
		return -1;
	if((f=fgrp->fd[s]) == 0)


@@ 84,39 82,33 @@ dupopen(Chan *c, int omode)
}

void
dupcreate(Chan *c, char *name, int omode, ulong perm)
dupcreate(Chan*, char*, int, ulong)
{
	USED(c, name, omode, perm);
	error(Eperm);
}

void
dupremove(Chan *c)
dupremove(Chan*)
{
	USED(c);
	error(Eperm);
}

void
dupwstat(Chan *c, char *dp)
dupwstat(Chan*, char*)
{
	USED(c);
	USED(dp);
	error(Egreg);
}

void
dupclose(Chan *c)
dupclose(Chan*)
{
	USED(c);
}

long
dupread(Chan *c, void *va, long n, ulong offset)
dupread(Chan *c, void *va, long n, ulong)
{
	char *a = va;

	USED(offset);
	if(c->qid.path != CHDIR)
		panic("dupread");
	return devdirread(c, a, n, (Dirtab *)0, 0L, dupgen);


@@ 129,9 121,8 @@ dupbread(Chan *c, long n, ulong offset)
}

long
dupwrite(Chan *c, void *va, long n, ulong offset)
dupwrite(Chan*, void*, long, ulong)
{
	USED(c, va, n, offset);
	panic("dupwrite");
	return 0;		/* not reached */
}

M port/devenv.c => port/devenv.c +3 -8
@@ 23,14 23,11 @@ envinit(void)
}

int
envgen(Chan *c, Dirtab *tab, int ntab, int s, Dir *dp)
envgen(Chan *c, Dirtab*, int, int s, Dir *dp)
{
	Egrp *eg;
	Evalue *e;

	USED(tab);
	USED(ntab);

	eg = up->egrp;
	qlock(eg);



@@ 177,16 174,14 @@ envremove(Chan *c)
}

void
envwstat(Chan *c, char *db)
envwstat(Chan*, char*)
{
	USED(c, db);
	error(Eperm);
}

void
envclose(Chan * c)
envclose(Chan*)
{
	USED(c);
}

long

M port/devkprof.c => port/devkprof.c +4 -10
@@ 95,30 95,26 @@ kprofopen(Chan *c, int omode)
}

void
kprofcreate(Chan *c, char *name, int omode, ulong perm)
kprofcreate(Chan*, char*, int, ulong)
{
	USED(c, name, omode, perm);
	error(Eperm);
}

void
kprofremove(Chan *c)
kprofremove(Chan*)
{
	USED(c);
	error(Eperm);
}

void
kprofwstat(Chan *c, char *dp)
kprofwstat(Chan*, char*)
{
	USED(c, dp);
	error(Eperm);
}

void
kprofclose(Chan *c)
{
	USED(c);
}

long


@@ 169,10 165,8 @@ kprofbread(Chan *c, long n, ulong offset)
}

long
kprofwrite(Chan *c, char *a, long n, ulong offset)
kprofwrite(Chan *c, char *a, long n, ulong)
{
	USED(offset);

	switch((int)(c->qid.path&~CHDIR)){
	case Kprofctlqid:
		if(strncmp(a, "startclr", 8) == 0){

M port/devlance.c => port/devlance.c +4 -9
@@ 366,9 366,8 @@ lanceintr(void)
 *  turn promiscuous mode on/off
 */
static void
promiscuous(void *arg, int on)
promiscuous(void*, int on)
{
	USED(arg);
	if(on)
		lancestart(PROM);
	else


@@ 408,9 407,8 @@ lanceopen(Chan *c, int omode)
}

void
lancecreate(Chan *c, char *name, int omode, ulong perm)
lancecreate(Chan*, char*, int, ulong)
{
	USED(c, name, omode, perm);
}

void


@@ 465,13 463,11 @@ etherloop(Etherpkt *p, long n)
}

long
lancewrite(Chan *c, void *buf, long n, ulong offset)
lancewrite(Chan *c, void *buf, long n, ulong)
{
	Msg *m;
	Lancepkt *p;

	USED(offset);

	if(n > ETHERMAXTU)
		error(Ebadarg);



@@ 522,9 518,8 @@ lancebwrite(Chan *c, Block *bp, ulong offset)
}

void
lanceremove(Chan *c)
lanceremove(Chan*)
{
	USED(c);
}

void

M port/devmouse.c => port/devmouse.c +7 -15
@@ 146,25 146,22 @@ mouseopen(Chan *c, int omode)
}

void
mousecreate(Chan *c, char *name, int omode, ulong perm)
mousecreate(Chan*, char*, int, ulong)
{
	if(!conf.monitor)
		error(Egreg);
	USED(c, name, omode, perm);
	error(Eperm);
}

void
mouseremove(Chan *c)
mouseremove(Chan*)
{
	USED(c);
	error(Eperm);
}

void
mousewstat(Chan *c, char *db)
mousewstat(Chan*, char*)
{
	USED(c, db);
	error(Eperm);
}



@@ 237,13 234,12 @@ mousebread(Chan *c, long n, ulong offset)
}

long
mousewrite(Chan *c, void *va, long n, ulong offset)
mousewrite(Chan *c, void *va, long n, ulong)
{
	char *p;
	Point pt;
	char buf[64];

	USED(offset);
	p = va;
	switch(c->qid.path){
	case CHDIR:


@@ 377,7 373,7 @@ mousetrack(int b, int dx, int dy)
 *  shift & right button is the same as middle button (for 2 button mice)
 */
int
m3mouseputc(void *q, int c)
m3mouseputc(void*, int c)
{
	static uchar msg[3];
	static int nb;


@@ 386,8 382,6 @@ m3mouseputc(void *q, int c)
	short x;
	int dx, dy, newbuttons;

	USED(q);

	/* 
	 *  check bit 6 for consistency
	 */


@@ 419,14 413,13 @@ m3mouseputc(void *q, int c)
 *  shift & right button is the same as middle button (for 2 button mice)
 */
int
mouseputc(void *q, int c)
mouseputc(void*, int c)
{
	static short msg[5];
	static int nb;
	static uchar b[] = {0, 4, 2, 6, 1, 5, 3, 7, 0, 2, 2, 6, 1, 5, 3, 7};
	int dx, dy, newbuttons;

	USED(q);
	if((c&0xF0) == 0x80)
		nb=0;
	msg[nb] = c;


@@ 443,9 436,8 @@ mouseputc(void *q, int c)
}

int
mousechanged(void *m)
mousechanged(void*)
{
	USED(m);
	return mouse.lastcounter - mouse.counter;
}


M port/devns16552.c => port/devns16552.c +4 -10
@@ 762,9 762,8 @@ ns16552open(Chan *c, int omode)
}

void
ns16552create(Chan *c, char *name, int omode, ulong perm)
ns16552create(Chan*, char*, int, ulong)
{
	USED(c, name, omode, perm);
	error(Eperm);
}



@@ 794,14 793,12 @@ ns16552close(Chan *c)
}

static long
uartstatus(Chan *c, Uart *p, void *buf, long n, long offset)
uartstatus(Chan*, Uart *p, void *buf, long n, long offset)
{
	uchar mstat;
	uchar tstat;
	char str[256];

	USED(c);

	str[0] = 0;
	tstat = p->sticky[Mctl];
	mstat = uartrdreg(p, Mstat);


@@ 933,13 930,11 @@ ns16552ctl(Uart *p, char *cmd)
}

long
ns16552write(Chan *c, void *buf, long n, ulong offset)
ns16552write(Chan *c, void *buf, long n, ulong)
{
	Uart *p;
	char cmd[32];

	USED(offset);

	if(c->qid.path & CHDIR)
		error(Eperm);



@@ 972,9 967,8 @@ ns16552bwrite(Chan *c, Block *bp, ulong offset)
}

void
ns16552remove(Chan *c)
ns16552remove(Chan*)
{
	USED(c);
	error(Eperm);
}


M port/devpipe.c => port/devpipe.c +5 -13
@@ 209,9 209,8 @@ piperemove(Chan*)
}

void
pipewstat(Chan *c, char *db)
pipewstat(Chan*, char*)
{
	USED(c, db);
	error(Eperm);
}



@@ 268,12 267,10 @@ pipeclose(Chan *c)
}

long
piperead(Chan *c, void *va, long n, ulong offset)
piperead(Chan *c, void *va, long n, ulong)
{
	Pipe *p;

	USED(offset);

	p = c->aux;

	switch(NETTYPE(c->qid.path)){


@@ 294,8 291,6 @@ pipebread(Chan *c, long n, ulong offset)
{
	Pipe *p;

	USED(offset);

	p = c->aux;

	switch(NETTYPE(c->qid.path)){


@@ 313,12 308,10 @@ pipebread(Chan *c, long n, ulong offset)
 *  the process.
 */
long
pipewrite(Chan *c, void *va, long n, ulong offset)
pipewrite(Chan *c, void *va, long n, ulong)
{
	Pipe *p;

	USED(offset);

	if((getstatus()&IE) == 0)
		print("pipewrite hi %lux\n", getcallerpc(c));
	if(waserror()) {


@@ 348,13 341,11 @@ pipewrite(Chan *c, void *va, long n, ulong offset)
}

long
pipebwrite(Chan *c, Block *bp, ulong offset)
pipebwrite(Chan *c, Block *bp, ulong)
{
	long n;
	Pipe *p;

	USED(offset);

	if(waserror()) {
		/* avoid notes when pipe is a mounted queue */
		if((c->flag & CMSG) == 0)


@@ 373,6 364,7 @@ pipebwrite(Chan *c, Block *bp, ulong offset)
		break;

	default:
		n = 0;
		panic("pipebwrite");
	}


M port/devproc.c => port/devproc.c +3 -6
@@ 73,14 73,13 @@ int	procstopped(void*);
void	mntscan(Mntwalk*);

int
procgen(Chan *c, Dirtab *tab, int ntab, int s, Dir *dp)
procgen(Chan *c, Dirtab *tab, int, int s, Dir *dp)
{
	Qid qid;
	Proc *p;
	char buf[NAMELEN];
	ulong pid, path, perm, len;

	USED(ntab);
	if(c->qid.path == CHDIR){
		if(s >= conf.nproc)
			return -1;


@@ 224,16 223,14 @@ procopen(Chan *c, int omode)
}

void
proccreate(Chan *c, char *name, int omode, ulong perm)
proccreate(Chan*, char*, int, ulong)
{
	USED(c, name, omode, perm);
	error(Eperm);
}

void
procremove(Chan *c)
procremove(Chan*)
{
	USED(c);
	error(Eperm);
}


M port/devroot.c => port/devroot.c +5 -11
@@ 131,9 131,8 @@ rootopen(Chan *c, int omode)
}

void	 
rootcreate(Chan *c, char *name, int omode, ulong perm)
rootcreate(Chan*, char*, int, ulong)
{
	USED(c, name, omode, perm);
	error(Eperm);
}



@@ 143,7 142,6 @@ rootcreate(Chan *c, char *name, int omode, ulong perm)
void	 
rootclose(Chan *c)
{
	USED(c);
	switch(c->qid.path) {
	default:
		break;


@@ 155,9 153,8 @@ rootclose(Chan *c)
}

int
rdrdy(void *a)
rdrdy(void*)
{
	USED(a);
	return reclist.q != 0;
}



@@ 218,11 215,10 @@ rootbread(Chan *c, long n, ulong offset)
}

long	 
rootwrite(Chan *c, void *buf, long n, ulong offset)
rootwrite(Chan *c, void *buf, long n, ulong)
{
	char tmp[256];

	USED(offset);
	switch(c->qid.path & ~CHDIR){
	default:
		error(Egreg);


@@ 245,16 241,14 @@ rootbwrite(Chan *c, Block *bp, ulong offset)
}

void	 
rootremove(Chan *c)
rootremove(Chan*)
{
	USED(c);
	error(Eperm);
}

void	 
rootwstat(Chan *c, char *dp)
rootwstat(Chan*, char*)
{
	USED(c, dp);
	error(Eperm);
}


M port/devsrv.c => port/devsrv.c +4 -9
@@ 23,12 23,10 @@ static Srv	*srv;
static int	qidpath;

int
srvgen(Chan *c, Dirtab *tab, int ntab, int s, Dir *dp)
srvgen(Chan *c, Dirtab*, int, int s, Dir *dp)
{
	Srv *sp;

	USED(tab);
	USED(ntab);
	qlock(&srvlk);
	for(sp = srv; sp && s; sp = sp->link)
		s--;


@@ 213,15 211,13 @@ srvwstat(Chan *c, char *dp)
}

void
srvclose(Chan *c)
srvclose(Chan*)
{
	USED(c);
}

long
srvread(Chan *c, void *va, long n, ulong offset)
srvread(Chan *c, void *va, long n, ulong)
{
	USED(offset);
	isdir(c);
	return devdirread(c, va, n, 0, 0, srvgen);
}


@@ 233,14 229,13 @@ srvbread(Chan *c, long n, ulong offset)
}

long
srvwrite(Chan *c, void *va, long n, ulong offset)
srvwrite(Chan *c, void *va, long n, ulong)
{
	Srv *sp;
	Chan *c1;
	int fd;
	char buf[32];

	USED(offset);
	if(n >= sizeof buf)
		error(Egreg);
	memmove(buf, va, n);	/* so we can NUL-terminate */

M port/net.c => port/net.c +1 -2
@@ 32,7 32,7 @@ findprot(Network *np, int id)
 *  generate a 3 level directory
 */
int
netgen(Chan *c, void *vp, int ntab, int i, Dir *dp)
netgen(Chan *c, void *vp, int, int i, Dir *dp)
{
	Qid q;
	char buf[32];


@@ 42,7 42,6 @@ netgen(Chan *c, void *vp, int ntab, int i, Dir *dp)
	int perm;
	char *o;

	USED(ntab);
	q.vers = 0;

	/* top level directory contains the name of the network */

M port/netif.c => port/netif.c +7 -2
@@ 30,7 30,7 @@ netifinit(Netif *nif, char *name, int nfile, ulong limit)
 *  generate a 3 level directory
 */
static int
netifgen(Chan *c, void *vp, int ntab, int i, Dir *dp)
netifgen(Chan *c, void *vp, int, int i, Dir *dp)
{
	Qid q;
	char buf[32];


@@ 40,7 40,6 @@ netifgen(Chan *c, void *vp, int ntab, int i, Dir *dp)
	int perm;
	char *o;

	USED(ntab);
	q.vers = 0;

	/* top level directory contains the name of the network */


@@ 102,6 101,10 @@ netifgen(Chan *c, void *vp, int ntab, int i, Dir *dp)
		q.path = NETQID(NETID(c->qid.path), Ntypeqid);
		devdir(c, q, "type", 0, eve, 0444, dp);
		break;
	case 4:
		q.path = NETQID(NETID(c->qid.path), Nifstatqid);
		devdir(c, q, "ifstats", 0, eve, 0444, dp);
		break;
	default:
		return -1;
	}


@@ 187,6 190,8 @@ netifread(Netif *nif, Chan *c, void *a, long n, ulong offset)
	case Ntypeqid:
		f = nif->f[NETID(c->qid.path)];
		return readnum(offset, a, n, f->type, NUMSIZE);
	case Nifstatqid:
		return 0;
	}
	error(Ebadarg);
	return -1;	/* not reached */

M port/netif.h => port/netif.h +2 -1
@@ 13,6 13,7 @@ enum
	Nctlqid,
	Nstatqid,
	Ntypeqid,
	Nifstatqid,
};

/*


@@ 65,7 66,7 @@ struct Netif
	int	inpackets;
	int	outpackets;
	int	crcs;		/* input crc errors */
	int	oerrs;		/* output erros */
	int	oerrs;		/* output errors */
	int	frames;		/* framing errors */
	int	overflows;	/* packet overflows */
	int	buffs;		/* buffering errors */

M port/page.c => port/page.c +1 -2
@@ 165,9 165,8 @@ retry:
}

int
ispages(void *p)
ispages(void*)
{
	USED(p);
	return palloc.freecount >= swapalloc.highwater;
}


M port/print.c => port/print.c +2 -5
@@ 525,10 525,9 @@ sconv(void *o, Fconv *fp)

static
int
percent(void *o, Fconv *fp)
percent(void*, Fconv *fp)
{

	USED(o);
	if(fp->out < fp->eout)
		*fp->out++ = '%';
	return 0;


@@ 536,12 535,10 @@ percent(void *o, Fconv *fp)

static
int
flags(void *o, Fconv *fp)
flags(void*, Fconv *fp)
{
	int f;

	USED(o);

	f = 0;
	switch(fp->chr) {
	case '+':

M port/segment.c => port/segment.c +0 -1
@@ 431,7 431,6 @@ segattach(Proc *p, ulong attr, char *name, ulong va, ulong len)
	Segment *s;
	Physseg *ps;

	USED(p);
	if(va != 0 && (va&KZERO) == KZERO)	/* BUG: Only ok for now */
		error(Ebadarg);


M port/swap.c => port/swap.c +1 -3
@@ 103,7 103,6 @@ pager(void *junk)
	if(waserror()) 
		panic("pager: os error\n");

	USED(junk);
	p = proctab(0);
	ep = &p[conf.nproc];



@@ 321,9 320,8 @@ executeio(void)
}

int
needpages(void *p)
needpages(void*)
{
	USED(p);
	return palloc.freecount < swapalloc.headroom;
}


M port/sysproc.c => port/sysproc.c +2 -5
@@ 452,9 452,8 @@ shargs(char *s, int n, char **ap)
}

int
return0(void *a)
return0(void*)
{
	USED(a);
	return 0;
}



@@ 519,9 518,8 @@ syswait(ulong *arg)
}

long
sysdeath(ulong *arg)
sysdeath(ulong*)
{
	USED(arg);
	pprint("deprecated system call\n");
	pexit("Suicide", 0);
	return 0;	/* not reached */


@@ 543,7 541,6 @@ syserrstr(ulong *arg)
long
sysnotify(ulong *arg)
{
	USED(arg);
	if(arg[0] != 0)
		validaddr(arg[0], sizeof(ulong), 0);
	up->notify = (int(*)(void*, char*))(arg[0]);