| plan 9 kernel history: overview | file list | diff list |
1993/0330/port/devcons.c (diff list | history)
| 1993/0216/sys/src/9/port/devcons.c:21,28 – 1993/0330/sys/src/9/port/devcons.c:21,26 (short | long | prev | next) | ||
| 1991/1224 | static Ref ctl; /* number of opens to the control file */ static int raw; /* true if raw has been requested on a ctl file */ | |
| 1990/0227 | ||
| 1991/1109 |
| |
| 1991/1207 |
| |
| 1992/0321 | char sysname[NAMELEN]; | |
| 1991/1109 | ||
| 1990/0227 | /* | |
| 1993/0216/sys/src/9/port/devcons.c:184,196 – 1993/0330/sys/src/9/port/devcons.c:182,189 | ||
| 1991/0720 | return 0; | |
| 1991/0705 | c = u->p->fgrp->fd[2]; | |
| 1993/0216 |
| |
| 1993/0330 | if(c==0 || (c->mode!=OWRITE && c->mode!=ORDWR)) | |
| 1990/0321 | return 0; | |
| 1993/0216 |
| |
| 1990/0227 | n = sprint(buf, "%s %d: ", u->p->text, u->p->pid); | |
| 1990/06111 | n = doprint(buf+n, buf+sizeof(buf), fmt, (&fmt+1)) - buf; | |
| 1992/0825 | ||
| 1993/0216/sys/src/9/port/devcons.c:199,205 – 1993/0330/sys/src/9/port/devcons.c:192,198 | ||
| 1992/0825 | lock(c); | |
| 1990/0227 | c->offset += n; | |
| 1992/0825 | unlock(c); | |
| 1993/0216 |
| |
| 1993/0330 | ||
| 1990/0227 | return n; } | |
| 1993/0216/sys/src/9/port/devcons.c:325,338 – 1993/0330/sys/src/9/port/devcons.c:318,333 | ||
| 1990/0227 | enum{ | |
| 1992/0506 | Qdir, | |
| 1992/0428 |
| |
| 1993/0330 | Qauth, Qauthcheck, | |
| 1992/0428 | Qclock, | |
| 1990/0227 | Qcons, | |
| 1991/1224 | Qconsctl, | |
| 1990/0227 | Qcputime, | |
| 1992/0428 |
| |
| 1992/0617 | Qhz, | |
| 1992/0428 | Qkey, | |
| 1993/0330 | Qhostdomain, Qhostowner, | |
| 1992/0428 | Qklog, | |
| 1991/0607 | Qlights, | |
| 1992/0428 | Qmsec, | |
| 1993/0216/sys/src/9/port/devcons.c:350,361 – 1993/0330/sys/src/9/port/devcons.c:345,358 | ||
| 1990/0227 | }; Dirtab consdir[]={ | |
| 1992/0428 |
| |
| 1993/0330 | "authenticate", {Qauth}, 0, 0666, "authcheck", {Qauthcheck}, 0, 0666, | |
| 1992/0428 | "clock", {Qclock}, 2*NUMSIZE, 0444, | |
| 1991/1211 | "cons", {Qcons}, 0, 0660, | |
| 1991/1224 | "consctl", {Qconsctl}, 0, 0220, | |
| 1991/1127 | "cputime", {Qcputime}, 6*NUMSIZE, 0444, | |
| 1992/0428 |
| |
| 1993/0330 | "hostdomain", {Qhostdomain}, DOMLEN, 0622, "hostowner", {Qhostowner}, NAMELEN, 0622, | |
| 1992/0617 | "hz", {Qhz}, NUMSIZE, 0666, | |
| 1992/0428 | "key", {Qkey}, DESKEYLEN, 0622, "klog", {Qklog}, 0, 0444, | |
| 1993/0216/sys/src/9/port/devcons.c:371,377 – 1993/0330/sys/src/9/port/devcons.c:368,374 | ||
| 1992/0428 | "sysname", {Qsysname}, 0, 0664, "sysstat", {Qsysstat}, 0, 0666, "time", {Qtime}, NUMSIZE, 0664, | |
| 1993/0330 | "user", {Quser}, NAMELEN, 0664, | |
| 1990/0227 | }; #define NCONS (sizeof consdir/sizeof(Dirtab)) | |
| 1993/0216/sys/src/9/port/devcons.c:451,464 – 1993/0330/sys/src/9/port/devcons.c:448,461 | ||
| 1990/0227 | Chan* consopen(Chan *c, int omode) { | |
| 1993/0330 | c->aux = 0; | |
| 1991/0607 | switch(c->qid.path){ | |
| 1991/1224 | case Qconsctl: | |
| 1991/1211 |
| |
| 1993/0330 | if(!iseve()) | |
| 1991/0620 | error(Eperm); | |
| 1991/1224 | incref(&ctl); | |
| 1991/0607 | break; | |
| 1990/0227 | } | |
| 1991/1127 |
| |
| 1990/0227 | return devopen(c, omode, consdir, NCONS, devgen); } | |
| 1993/0216/sys/src/9/port/devcons.c:473,487 – 1993/0330/sys/src/9/port/devcons.c:470,487 | ||
| 1990/0227 | consclose(Chan *c) { | |
| 1991/1224 | /* last close of control file turns off raw */ | |
| 1993/0330 | switch(c->qid.path){ case Qconsctl: if(c->flag&COPEN){ lock(&ctl); if(--ctl.ref == 0) raw = 0; unlock(&ctl); } case Qauth: case Qauthcheck: authclose(c); | |
| 1991/1224 | } | |
| 1991/1127 |
| |
| 1992/0826 |
| |
| 1991/1127 |
| |
| 1990/0227 | } long | |
| 1993/0216/sys/src/9/port/devcons.c:490,496 – 1993/0330/sys/src/9/port/devcons.c:490,496 | ||
| 1992/0814 | int ch, i, k, id; | |
| 1990/0227 | ulong l; char *cbuf = buf; | |
| 1992/0826 |
| |
| 1993/0330 | char *b, *bp; | |
| 1992/0814 | char tmp[128]; /* must be >= 6*NUMSIZE */ | |
| 1991/0425 | Mach *mp; | |
| 1990/0227 | ||
| 1993/0216/sys/src/9/port/devcons.c:591,625 – 1993/0330/sys/src/9/port/devcons.c:591,608 | ||
| 1991/0607 | memmove(buf, tmp+k, n); return n; | |
| 1991/1127 |
| |
| 1992/0826 |
| |
| 1991/1127 |
| |
| 1993/0330 | case Qkey: return keyread(buf, n, offset); | |
| 1991/1127 |
| |
| 1992/0323 |
| |
| 1991/1127 |
| |
| 1992/0318 |
| |
| 1992/0603 |
| |
| 1991/1127 |
| |
| 1992/0318 |
| |
| 1992/0323 |
| |
| 1993/0330 | case Qauth: return authread(c, cbuf, n); | |
| 1992/0323 |
| |
| 1992/0725 |
| |
| 1992/0323 |
| |
| 1991/1127 |
| |
| 1993/0330 | case Qhostowner: return readstr(offset, buf, n, eve); | |
| 1991/1127 | ||
| 1993/0330 | case Qhostdomain: return readstr(offset, buf, n, hostdomain); | |
| 1990/0227 | case Quser: | |
| 1991/1105 | return readstr(offset, buf, n, u->p->user); | |
| 1990/0227 | ||
| 1993/0216/sys/src/9/port/devcons.c:742,748 – 1993/0330/sys/src/9/port/devcons.c:725,731 | ||
| 1990/0227 | char cbuf[64]; char buf[256]; | |
| 1991/1116 | long l, bp; | |
| 1992/0826 |
| |
| 1993/0330 | char *a = va; | |
| 1991/0425 | Mach *mp; | |
| 1991/1224 | int id, fd, ch; | |
| 1991/0705 | Chan *swc; | |
| 1993/0216/sys/src/9/port/devcons.c:801,863 – 1993/0330/sys/src/9/port/devcons.c:784,806 | ||
| 1992/0522 | boottime = strtoul(a, 0, 0)-TK2SEC(MACHP(0)->ticks); | |
| 1990/0227 | break; | |
| 1991/1127 |
| |
| 1992/0826 |
| |
| 1991/1127 |
| |
| 1992/0826 |
| |
| 1991/1127 |
| |
| 1992/0826 |
| |
| 1991/1127 |
| |
| 1992/0826 |
| |
| 1991/1127 |
| |
| 1991/1207 |
| |
| 1991/1127 |
| |
| 1991/1207 |
| |
| 1991/1127 |
| |
| 1991/1207 |
| |
| 1991/1127 |
| |
| 1993/0330 | return keywrite(a, n); | |
| 1991/1127 | ||
| 1993/0330 | case Qhostowner: return hostownerwrite(a, n); case Qhostdomain: return hostdomainwrite(a, n); | |
| 1990/0227 | case Quser: | |
| 1992/0725 |
| |
| 1991/1127 |
| |
| 1992/0725 |
| |
| 1991/1127 |
| |
| 1992/0725 |
| |
| 1991/1127 |
| |
| 1990/0227 |
| |
| 1993/0330 | return userwrite(a, n); | |
| 1990/0227 | ||
| 1991/1127 |
| |
| 1991/1207 |
| |
| 1991/1127 |
| |
| 1992/0114 |
| |
| 1991/1127 |
| |
| 1992/0129 |
| |
| 1991/1127 |
| |
| 1993/0330 | case Qauth: return authwrite(c, a, n); case Qauthcheck: return authcheck(c, a, n); | |
| 1990/0227 | case Qnull: break; | |