| plan 9 kernel history: overview | file list | diff list |
1993/1013/port/devproc.c (diff list | history)
| 1993/1013/sys/src/9/port/devproc.c:16,21 – 1993/1018/sys/src/9/port/devproc.c:16,22 (short | long | prev | next) | ||
| 1993/0818 | Qkregs, | |
| 1990/0227 | Qmem, Qnote, | |
| 1993/1018 | Qnoteid, | |
| 1990/1110 | Qnotepg, | |
| 1993/0818 | Qns, | |
| 1993/0828 | Qproc, | |
| 1993/1013/sys/src/9/port/devproc.c:34,39 – 1993/1018/sys/src/9/port/devproc.c:35,41 | ||
| 1993/0818 | "kregs", {Qkregs}, sizeof(Ureg), 0000, | |
| 1991/1109 | "mem", {Qmem}, 0, 0000, "note", {Qnote}, 0, 0000, | |
| 1993/1018 | "noteid", {Qnoteid}, 0, 0666, | |
| 1991/1112 | "notepg", {Qnotepg}, 0, 0000, | |
| 1993/0818 | "ns", {Qns}, 0, 0400, | |
| 1993/0828 | "proc", {Qproc}, 0, 0400, | |
| 1993/1013/sys/src/9/port/devproc.c:188,193 – 1993/1018/sys/src/9/port/devproc.c:190,196 | ||
| 1993/0818 | ||
| 1990/0227 | case Qctl: case Qnote: | |
| 1993/1018 | case Qnoteid: | |
| 1991/1110 | case Qmem: | |
| 1991/1112 | case Qstatus: | |
| 1993/0309 | case Qwait: | |
| 1993/1013/sys/src/9/port/devproc.c:470,475 – 1993/1018/sys/src/9/port/devproc.c:473,480 | ||
| 1993/0501 | } a += ptpath(mw->cm->to->path, a, n); return a - (char*)va; | |
| 1993/1018 | case Qnoteid: return readnum(offset, va, n, p->noteid, NUMSIZE); | |
| 1990/0227 | } | |
| 1990/11211 | error(Egreg); | |
| 1992/0520 | return 0; /* not reached */ | |
| 1993/1013/sys/src/9/port/devproc.c:516,522 – 1993/1018/sys/src/9/port/devproc.c:521,528 | ||
| 1990/0227 | long | |
| 1991/0411 | procwrite(Chan *c, void *va, long n, ulong offset) | |
| 1990/0227 | { | |
| 1993/1018 | int id; Proc *p, *t, *et; | |
| 1990/0227 | char buf[ERRLEN]; | |
| 1990/11211 | if(c->qid.path & CHDIR) | |
| 1993/1013/sys/src/9/port/devproc.c:578,584 – 1993/1018/sys/src/9/port/devproc.c:584,607 | ||
| 1990/0227 | if(!postnote(p, 0, buf, NUser)) | |
| 1992/0527 | error("note not posted"); | |
| 1990/0227 | break; | |
| 1991/1110 | ||
| 1993/1018 | case Qnoteid: id = atoi((char*)va); if(id == p->pid) { p->noteid = id; break; } t = proctab(0); for(et = t+conf.nproc; t < et; t++) { if(id == t->noteid) { if(strcmp(p->user, t->user) != 0) error(Eperm); p->noteid = id; break; } } if(p->noteid != id) error(Ebadarg); break; | |
| 1990/0227 | default: pprint("unknown qid in procwrite\n"); | |
| 1990/11211 | error(Egreg); | |