| plan 9 kernel history: overview | file list | diff list |
1990/11211/port/devdup.c (diff list | history)
| 1990/0227/sys/src/9/port/devdup.c:20,26 – 1990/11211/sys/src/9/port/devdup.c:20,26 (short | long | prev | next) | ||
| 1990/0227 | if((f=u->fd[s]) == 0) return 0; sprint(buf, "%ld", s); | |
| 1990/11211 | devdir(c, (Qid){s, 0}, buf, 0, perm[f->mode&3], dp); | |
| 1990/0227 | return 1; } | |
| 1990/0227/sys/src/9/port/devdup.c:63,78 – 1990/11211/sys/src/9/port/devdup.c:63,78 | ||
| 1990/0227 | { Chan *f; | |
| 1990/11211 | if(c->qid.path == CHDIR){ | |
| 1990/0227 | if(omode != 0) | |
| 1990/11211 | error(Eisdir); | |
| 1990/0227 | c->mode = 0; c->flag |= COPEN; c->offset = 0; return c; } | |
| 1990/11211 | fdtochan(c->qid.path, openmode(omode)); /* error check only */ f = u->fd[c->qid.path]; | |
| 1990/0227 | close(c); incref(f); return f; | |
| 1990/0227/sys/src/9/port/devdup.c:81,99 – 1990/11211/sys/src/9/port/devdup.c:81,99 | ||
| 1990/0227 | void dupcreate(Chan *c, char *name, int omode, ulong perm) { | |
| 1990/11211 | error(Eperm); | |
| 1990/0227 | } void dupremove(Chan *c) { | |
| 1990/11211 | error(Eperm); | |
| 1990/0227 | } void dupwstat(Chan *c, char *dp) { | |
| 1990/11211 | error(Egreg); | |
| 1990/0227 | } void | |
| 1990/0227/sys/src/9/port/devdup.c:106,112 – 1990/11211/sys/src/9/port/devdup.c:106,112 | ||
| 1990/0227 | { char *a = va; | |
| 1990/11211 | if(c->qid.path != CHDIR) | |
| 1990/0227 | panic("dupread"); return devdirread(c, a, n, (Dirtab *)0, 0L, dupgen); } | |
| 1990/0227/sys/src/9/port/devdup.c:115,130 – 1990/11211/sys/src/9/port/devdup.c:115,118 | ||
| 1990/0227 | dupwrite(Chan *c, void *va, long n) { panic("dupwrite"); | |