| plan 9 kernel history: overview | file list | diff list |
1991/0613/port/devroot.c (diff list | history)
| 1991/0613/sys/src/9/port/devroot.c:19,29 – 1991/0615/sys/src/9/port/devroot.c:19,27 (short | long | prev | next) | ||
| 1990/0227 | ||
| 1991/0214 | extern long cfslen; | |
| 1991/0216 | extern ulong cfscode[]; | |
| 1991/0214 | ||
| 1991/0613 | extern long cryptfslen; extern ulong cryptfscode[]; | |
| 1991/0214 | ||
| 1991/0613 | ||
| 1990/0227 | Dirtab rootdir[]={ | |
| 1990/11211 | "bin", {Qbin|CHDIR}, 0, 0700, "boot", {Qboot}, 0, 0700, | |
| 1991/0613/sys/src/9/port/devroot.c:30,46 – 1991/0615/sys/src/9/port/devroot.c:28,66 | ||
| 1990/11211 | "dev", {Qdev|CHDIR}, 0, 0700, "env", {Qenv|CHDIR}, 0, 0700, "proc", {Qproc|CHDIR}, 0, 0700, | |
| 1991/0613 |
| |
| 1991/0214 |
| |
| 1990/0227 | }; | |
| 1991/0615 | Dirtab rootpdir[]={ "cfs", {Qcfs}, 0, 0700, "cryptfs", {Qcryptfs}, 0, 0700, }; Dirtab *rootmap[sizeof rootpdir/sizeof(Dirtab)]; | |
| 1991/0214 | int nroot; | |
| 1990/0227 | ||
| 1991/0615 | int rootgen(Chan *c, Dirtab *tab, int ntab, int i, Dir *dp) { if(tab==0 || i>=ntab) return -1; if(i < NROOT) tab += i; else tab = rootmap[i - NROOT]; devdir(c, tab->qid, tab->name, tab->length, tab->perm, dp); return 1; } | |
| 1990/0227 | void rootreset(void) { | |
| 1991/0214 |
| |
| 1991/0615 | int i; i = 0; if(cfslen) rootmap[i++] = &rootpdir[0]; if(cryptfslen) rootmap[i++] = &rootpdir[1]; nroot = NROOT + i; | |
| 1990/0227 | } void | |
| 1991/0613/sys/src/9/port/devroot.c:63,81 – 1991/0615/sys/src/9/port/devroot.c:83,101 | ||
| 1990/0227 | int rootwalk(Chan *c, char *name) { | |
| 1991/0214 |
| |
| 1991/0615 | return devwalk(c, name, rootdir, nroot, rootgen); | |
| 1990/0227 | } void rootstat(Chan *c, char *dp) { | |
| 1991/0214 |
| |
| 1991/0615 | devstat(c, dp, rootdir, nroot, rootgen); | |
| 1990/0227 | } Chan* rootopen(Chan *c, int omode) { | |
| 1991/0214 |
| |
| 1991/0615 | return devopen(c, omode, rootdir, nroot, rootgen); | |
| 1990/0227 | } void | |
| 1991/0613/sys/src/9/port/devroot.c:100,106 – 1991/0615/sys/src/9/port/devroot.c:120,126 | ||
| 1990/0227 | ||
| 1990/11211 | switch(c->qid.path & ~CHDIR){ | |
| 1990/0227 | case Qdir: | |
| 1991/0214 |
| |
| 1991/0615 | return devdirread(c, buf, n, rootdir, nroot, rootgen); | |
| 1990/0227 | case Qboot: /* boot */ | |
| 1991/0411 | if(offset >= sizeof bootcode) | |