| plan 9 kernel history: overview | file list | diff list |
1996/0206/port/devtinyfs.c (diff list | history)
| 1996/0203/sys/src/9/port/devtinyfs.c:55,60 – 1996/0206/sys/src/9/port/devtinyfs.c:55,61 (short | long | prev | next) | ||
| 1996/0201 | typedef struct Tfile Tfile; struct Tfile { | |
| 1996/0206 | Lock; | |
| 1996/0202 | int r; | |
| 1996/0201 | char name[NAMELEN]; ushort bno; | |
| 1996/0203/sys/src/9/port/devtinyfs.c:182,187 – 1996/0206/sys/src/9/port/devtinyfs.c:183,199 | ||
| 1996/0201 | return md; } | |
| 1996/0206 | static Mdata* readdata(Tfs *fs, ulong bno, uchar *buf) { if(bno >= fs->nblocks) return 0; n = devtab[fs->c->type].read(fs->c, buf, Blen, Blen*bno); if(n != Blen) return 0; return validdata(fs, buf); } | |
| 1996/0202 | static int writedir(Tfs *fs, Tfile *f) { | |
| 1996/0203/sys/src/9/port/devtinyfs.c:603,608 – 1996/0206/sys/src/9/port/devtinyfs.c:615,623 | ||
| 1996/0203 | Tfs *fs; Tfile *f; int sofar, i; | |
| 1996/0206 | ulong bno, tbno; Mdata *md; uchar buf[Blen]; | |
| 1996/0203 | if(c->qid.path & CHDIR) | |
| 1996/0201 | return devdirread(c, a, n, tinyfstab, Ntinyfstab, tinyfsgen); | |
| 1996/0203/sys/src/9/port/devtinyfs.c:613,618 – 1996/0206/sys/src/9/port/devtinyfs.c:628,649 | ||
| 1996/0203 | return 0; if(n + offset >= f->length) n = f->length - offset; | |
| 1996/0206 | /* walk to first data block */ bno = f->dbno; for(sofar = 0; sofar < offset; sofar += Blen){ md = readdata(fs, bno, buf); if(md == 0) error(Eio); bno = GETS(md->bno); } /* read first block */ i = offset%Blen; /* read data */ for(sofar = 0; sofar+Blen < offset; sofar += Blen){ | |
| 1996/0203 | ||
| 1996/0116 | return n; } | |